<?xml version="1.0"?>
<doc>
    <assembly>
        <name>log4net</name>
    </assembly>
    <members>
        <member name="T:log4net.Appender.ADONetAppender">
            <summary>
            Appender that logs to a database.
            </summary>
            <remarks>
            <para>
            <see cref="T:log4net.Appender.ADONetAppender"/> appends logging events to a table within a
            database. The appender can be configured to specify the connection 
            string by setting the <see cref="P:log4net.Appender.ADONetAppender.ConnectionString"/> property. 
            The connection type (provider) can be specified by setting the <see cref="P:log4net.Appender.ADONetAppender.ConnectionType"/>
            property. For more information on database connection strings for
            your specific database see <a href="http://www.connectionstrings.com/">http://www.connectionstrings.com/</a>.
            </para>
            <para>
            Records are written into the database either using a prepared
            statement or a stored procedure. The <see cref="P:log4net.Appender.ADONetAppender.CommandType"/> property
            is set to <see cref="F:System.Data.CommandType.Text"/> (<c>System.Data.CommandType.Text</c>) to specify a prepared statement
            or to <see cref="F:System.Data.CommandType.StoredProcedure"/> (<c>System.Data.CommandType.StoredProcedure</c>) to specify a stored
            procedure.
            </para>
            <para>
            The prepared statement text or the name of the stored procedure
            must be set in the <see cref="P:log4net.Appender.ADONetAppender.CommandText"/> property.
            </para>
            <para>
            The prepared statement or stored procedure can take a number
            of parameters. Parameters are added using the <see cref="M:log4net.Appender.ADONetAppender.AddParameter(log4net.Appender.ADONetAppenderParameter)"/>
            method. This adds a single <see cref="T:log4net.Appender.ADONetAppenderParameter"/> to the
            ordered list of parameters. The <see cref="T:log4net.Appender.ADONetAppenderParameter"/>
            type may be subclassed if required to provide database specific
            functionality. The <see cref="T:log4net.Appender.ADONetAppenderParameter"/> specifies
            the parameter name, database type, size, and how the value should
            be generated using a <see cref="T:log4net.Layout.ILayout"/>.
            </para>
            </remarks>
            <example>
            An example of a SQL Server table that could be logged to:
            <code>
            CREATE TABLE [dbo].[Log] ( 
              [ID] [int] IDENTITY (1, 1) NOT NULL ,
              [Date] [datetime] NOT NULL ,
              [Thread] [varchar] (255) NOT NULL ,
              [Level] [varchar] (20) NOT NULL ,
              [Logger] [varchar] (255) NOT NULL ,
              [Message] [varchar] (4000) NOT NULL 
            ) ON [PRIMARY]
            </code>
            </example>
            <example>
            An example configuration to log to the above table:
            <code>
            &lt;appender name="ADONetAppender_SqlServer" type="log4net.Appender.ADONetAppender" &gt;
              &lt;param name="ConnectionType" value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /&gt;
              &lt;param name="ConnectionString" value="data source=GUINNESS;initial catalog=test_log4net;integrated security=false;persist security info=True;User ID=sa;Password=sql" /&gt;
              &lt;param name="CommandText" value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message]) VALUES (@log_date, @thread, @log_level, @logger, @message)" /&gt;
              &lt;param name="Parameter"&gt;
                &lt;param name="ParameterName" value="@log_date" /&gt;
                &lt;param name="DbType" value="DateTime" /&gt;
                &lt;param name="Layout" type="log4net.Layout.PatternLayout"&gt;
                  &lt;param name="ConversionPattern" value="%d{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}" /&gt;
                &lt;/param&gt;
              &lt;/param&gt;
              &lt;param name="Parameter"&gt;
                &lt;param name="ParameterName" value="@thread" /&gt;
                &lt;param name="DbType" value="String" /&gt;
                &lt;param name="Size" value="255" /&gt;
                &lt;param name="Layout" type="log4net.Layout.PatternLayout"&gt;
                  &lt;param name="ConversionPattern" value="%t" /&gt;
                &lt;/param&gt;
              &lt;/param&gt;
              &lt;param name="Parameter"&gt;
                &lt;param name="ParameterName" value="@log_level" /&gt;
                &lt;param name="DbType" value="String" /&gt;
                &lt;param name="Size" value="50" /&gt;
                &lt;param name="Layout" type="log4net.Layout.PatternLayout"&gt;
                  &lt;param name="ConversionPattern" value="%p" /&gt;
                &lt;/param&gt;
              &lt;/param&gt;
              &lt;param name="Parameter"&gt;
                &lt;param name="ParameterName" value="@logger" /&gt;
                &lt;param name="DbType" value="String" /&gt;
                &lt;param name="Size" value="255" /&gt;
                &lt;param name="Layout" type="log4net.Layout.PatternLayout"&gt;
                  &lt;param name="ConversionPattern" value="%c" /&gt;
                &lt;/param&gt;
              &lt;/param&gt;
              &lt;param name="Parameter"&gt;
                &lt;param name="ParameterName" value="@message" /&gt;
                &lt;param name="DbType" value="String" /&gt;
                &lt;param name="Size" value="4000" /&gt;
                &lt;param name="Layout" type="log4net.Layout.PatternLayout"&gt;
                  &lt;param name="ConversionPattern" value="%m" /&gt;
                &lt;/param&gt;
              &lt;/param&gt;
            &lt;/appender&gt;
            </code>
            </example>
        </member>
        <member name="T:log4net.Appender.BufferingAppenderSkeleton">
            <summary>
            Abstract base class implementation of <see cref="T:log4net.Appender.IAppender"/> that 
            buffers events in a fixed size buffer.
            </summary>
            <remarks>
            <para>
            This base class should be used by appenders that need to buffer a 
            number of events before logging them. For example the <see cref="T:log4net.Appender.ADONetAppender"/> 
            buffers events and then submits the entire contents of the buffer to 
            the underlying database in one go.
            </para>
            <para>
            Subclasses should override the <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.spi.LoggingEvent[])"/>
            method to deliver the buffered events.
            </para>
            <para>The BufferingAppenderSkeleton maintains a fixed size cyclic 
            buffer of events. The size of the buffer is set using 
            the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> property.
            </para>
            <para>A <see cref="T:log4net.spi.ITriggeringEventEvaluator"/> is used to inspect 
            each event as it arrives in the appender. If the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> 
            triggers, then the current buffer is sent immediately 
            (see <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.spi.LoggingEvent[])"/>). Otherwise the event 
            is stored in the buffer. For example, an evaluator can be used to 
            deliver the events immediately when an ERROR event arrives.
            </para>
            <para>
            The buffering appender can be configured in a <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> mode. 
            By default the appender is NOT lossy. When the buffer is full all 
            the buffered events are sent with <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.spi.LoggingEvent[])"/>.
            If the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> property is set to <c>true</c> then the 
            buffer will not be sent when it is full, and new events arriving 
            in the appender will overwrite the oldest event in the buffer. 
            In lossy mode the buffer will only be sent when the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/>
            triggers. This can be useful behaviour when you need to know about 
            ERROR events but not about events with a lower level, configure an 
            evaluator that will trigger when an ERROR event arrives, the whole 
            buffer will be sent which gives a history of events leading up to
            the ERROR event.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.AppenderSkeleton">
            <summary>
            Abstract base class implementation of <see cref="T:log4net.Appender.IAppender"/>. 
            </summary>
            <remarks>
            <para>
            This class provides the code for common functionality, such 
            as support for threshold filtering and support for general filters.
            </para>
            <para>
            Appenders can also implement the <see cref="T:log4net.spi.IOptionHandler"/> interface. Therefore
            they would require that the <see cref="M:log4net.spi.IOptionHandler.ActivateOptions"/> method
            be called after the appenders properties have been configured.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.IAppender">
            <summary>
            Implement this interface for your own strategies for printing log statements.
            </summary>
            <remarks>
            <para>
            Implementers should consider extending the <see cref="T:log4net.Appender.AppenderSkeleton"/>
            class which provides a default implementation of this interface.
            </para>
            <para>
            Appenders can also implement the <see cref="T:log4net.spi.IOptionHandler"/> interface. Therefore
            they would require that the <see cref="M:log4net.spi.IOptionHandler.ActivateOptions"/> method
            be called after the appenders properties have been configured.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.IAppender.Close">
            <summary>
            Closes the appender and releases resources.
            </summary>
            <remarks>
            <para>
            Releases any resources allocated within the appender such as file handles, 
            network connections, etc.
            </para>
            <para>
            It is a programming error to append to a closed appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.IAppender.DoAppend(log4net.spi.LoggingEvent)">
            <summary>
            Log the logging event in Appender specific way.
            </summary>
            <param name="loggingEvent">The event to log</param>
            <remarks>
            <para>
            This method is called to log a message into this appender.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.IAppender.Name">
            <summary>
            Gets or sets the name of this appender.
            </summary>
            <value>The name of the appender.</value>
            <remarks>
            <para>The name uniquely identifies the appender.</para>
            </remarks>
        </member>
        <member name="T:log4net.spi.IOptionHandler">
            <summary>
            A string based interface to configure components.
            </summary>
        </member>
        <member name="M:log4net.spi.IOptionHandler.ActivateOptions">
            <summary>
            Activate the options that were previously set with calls to option setters.
            </summary>
            <remarks>
            This allows to defer activation of the options until all
            options have been set. This is required for components which have
            related options that remain ambiguous until all are set.
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.#ctor">
            <summary>
            Default constructor
            </summary>
            <remarks>
            <para>Empty default constructor</para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.Finalize">
            <summary>
            Finalizes this appender by calling the implementation's 
            <see cref="M:log4net.Appender.AppenderSkeleton.Close"/> method.
            </summary>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.ActivateOptions">
            <summary>
            Initialise the appender based on the options set
            </summary>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.Close">
            <summary>
            Closes the appender and release resources.
            </summary>
            <remarks>
            <para>
            Release any resources allocated within the appender such as file handles, 
            network connections, etc.
            </para>
            <para>
            It is a programming error to append to a closed appender.
            </para>
            <para>
            This method cannot be overridden by subclasses. This method 
            delegates the closing of the appender to the <see cref="M:log4net.Appender.AppenderSkeleton.OnClose"/>
            method which must be overridden in the subclass.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.spi.LoggingEvent)">
            <summary>
            Performs threshold checks and invokes filters before 
            delegating actual logging to the subclasses specific 
            <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.spi.LoggingEvent)"/> method.
            </summary>
            <param name="loggingEvent">The event to log.</param>
            <remarks>
            <para>
            This method cannot be overridden by derived classes. A
            derived class should override the <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.spi.LoggingEvent)"/> method
            which is called by this method.
            </para>
            <para>
            The implementation of this method is as follows:
            </para>
            <para>
            <list type="bullet">
            	<item>
            		<description>
            		Checks that the severity of the <paramref name="loggingEvent"/>
            		is greater than or equal to the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> of this
            		appender.</description>
            	</item>
            	<item>
            		<description>
            		Checks that the <see cref="N:log4net.Filter"/> chain accepts the 
            		<paramref name="loggingEvent"/>.
            		</description>
            	</item>
            	<item>
            		<description>
            		Calls <see cref="M:log4net.Appender.AppenderSkeleton.PreAppendCheck"/> and checks that 
            		it returns <c>true</c>.</description>
            	</item>
            </list>
            </para>
            <para>
            If all of the above steps succeed then the <paramref name="loggingEvent"/>
            will be passed to the abstract <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.spi.LoggingEvent)"/> method.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.IsAsSevereAsThreshold(log4net.spi.Level)">
            <summary>
            Checks if the message level is below this appender's threshold.
            </summary>
            <param name="level"><see cref="T:log4net.spi.Level"/> to test against.</param>
            <remarks>
            <para>
            If there is no threshold set, then the return value is always <c>true</c>.
            </para>
            </remarks>
            <returns>
            <c>true</c> if the <paramref name="level"/> meets the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> 
            requirements of this appender.
            </returns>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.OnClose">
            <summary>
            Is called when the appender is closed. Derived classes should override 
            this method if resources need to be released.
            </summary>
            <remarks>
            <para>
            Releases any resources allocated within the appender such as file handles, 
            network connections, etc.
            </para>
            <para>
            It is a programming error to append to a closed appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.AddFilter(log4net.Filter.IFilter)">
            <summary>
            Adds a filter to the end of the filter chain.
            </summary>
            <remarks>
            <para>
            The Filters are organized in a linked list.
            </para>
            <para>
            Setting this property causes the new filter to be pushed onto the 
            back of the filter chain.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.ClearFilters">
            <summary>
            Clears the filter list for this appender.
            </summary>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.Append(log4net.spi.LoggingEvent)">
            <summary>
            Subclasses of <see cref="T:log4net.Appender.AppenderSkeleton"/> should implement this method 
            to perform actual logging.
            </summary>
            <param name="loggingEvent">The event to append.</param>
            <remarks>
            <para>
            A subclass must implement this method to perform
            logging of the <paramref name="loggingEvent"/>.
            </para>
            <para>This method will be called by <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.spi.LoggingEvent)"/>
            if all the conditions listed for that method are met.
            </para>
            <para>
            To restrict the logging of events in the appender
            override the <see cref="M:log4net.Appender.AppenderSkeleton.PreAppendCheck"/> method.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.PreAppendCheck">
            <summary>
            Called before <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.spi.LoggingEvent)"/> as a precondition.
            </summary>
            <remarks>
            <para>
            This method is called by <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.spi.LoggingEvent)"/>
            before the call to the abstract <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.spi.LoggingEvent)"/> method.
            </para>
            <para>
            This method can be overridden in a subclass to extend the checks 
            made before the event is passed to the <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.spi.LoggingEvent)"/> method.
            </para>
            <para>
            A subclass should ensure that they delegate this call to
            this base class if it is overridden.
            </para>
            </remarks>
            <returns><c>true</c> if the call to <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.spi.LoggingEvent)"/> should proceed.</returns>
        </member>
        <member name="M:log4net.Appender.AppenderSkeleton.RenderLoggingEvent(log4net.spi.LoggingEvent)">
            <summary>
            Renders the <see cref="T:log4net.spi.LoggingEvent"/> to a string.
            </summary>
            <param name="loggingEvent">The event to render.</param>
            <returns>The event rendered as a string.</returns>
            <remarks>
            <para>
            Helper method to render a <see cref="T:log4net.spi.LoggingEvent"/> to 
            a string. This appender must have a <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/>
            set to render the <paramref name="loggingEvent"/> to 
            a string.
            </para>
            <para>If there is exception data in the logging event and 
            the layout does not process the exception, this method 
            will append the exception text to the rendered string.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.m_layout">
            <summary>
            The layout of this appender.
            </summary>
            <remarks>
            See <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/> for more information.
            </remarks>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.m_name">
            <summary>
            The name of this appender.
            </summary>
            <remarks>
            See <see cref="P:log4net.Appender.AppenderSkeleton.Name"/> for more information.
            </remarks>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.m_threshold">
            <summary>
            The level threshold of this appender.
            </summary>
            <remarks>
            <para>
            There is no level threshold filtering by default.
            </para>
            <para>
            See <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> for more information.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.m_errorHandler">
            <summary>
            It is assumed and enforced that errorHandler is never null.
            </summary>
            <remarks>
            <para>
            It is assumed and enforced that errorHandler is never null.
            </para>
            <para>
            See <see cref="P:log4net.Appender.AppenderSkeleton.ErrorHandler"/> for more information.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.m_headFilter">
            <summary>
            The first filter in the filter chain.
            </summary>
            <remarks>
            <para>
            Set to <c>null</c> initially.
            </para>
            <para>
            See <see cref="N:log4net.Filter"/> for more information.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.m_tailFilter">
            <summary>
            The last filter in the filter chain.
            </summary>
            <remarks>
            See <see cref="N:log4net.Filter"/> for more information.
            </remarks>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.m_closed">
            <summary>
            Flag indicating if this appender is closed.
            </summary>
            <remarks>
            See <see cref="M:log4net.Appender.AppenderSkeleton.Close"/> for more information.
            </remarks>
        </member>
        <member name="F:log4net.Appender.AppenderSkeleton.m_recursiveGuard">
            <summary>
            The guard prevents an appender from repeatedly calling its own DoAppend method
            </summary>
        </member>
        <member name="P:log4net.Appender.AppenderSkeleton.Threshold">
            <summary>
            Gets or sets the threshold <see cref="T:log4net.spi.Level"/> of this appender.
            </summary>
            <value>
            The threshold <see cref="T:log4net.spi.Level"/> of the appender. 
            </value>
            <remarks>
            <para>
            All log events with lower level than the threshold level are ignored 
            by the appender.
            </para>
            <para>
            In configuration files this option is specified by setting the
            value of the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> option to a level
            string, such as "DEBUG", "INFO" and so on.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AppenderSkeleton.ErrorHandler">
            <summary>
            Gets or sets the <see cref="T:log4net.spi.IErrorHandler"/> for this appender.
            </summary>
            <value>The <see cref="T:log4net.spi.IErrorHandler"/> of the appender</value>
            <remarks>
            <para>
            The <see cref="T:log4net.Appender.AppenderSkeleton"/> provides a default 
            implementation for the <see cref="P:log4net.Appender.AppenderSkeleton.ErrorHandler"/> property. 
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AppenderSkeleton.FilterHead">
            <summary>
            The filter chain.
            </summary>
            <value>The head of the filter chain filter chain.</value>
            <remarks>
            <para>
            Returns the head Filter. The Filters are organized in a linked list
            and so all Filters on this Appender are available through the result.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AppenderSkeleton.Layout">
            <summary>
            Gets or sets the <see cref="T:log4net.Layout.ILayout"/> for this appender.
            </summary>
            <value>The layout of the appender.</value>
            <remarks>
            <para>
            See <see cref="P:log4net.Appender.AppenderSkeleton.RequiresLayout"/> for more information.
            </para>
            </remarks>
            <seealso cref="P:log4net.Appender.AppenderSkeleton.RequiresLayout"/>
        </member>
        <member name="P:log4net.Appender.AppenderSkeleton.Name">
            <summary>
            Gets or sets the name of this appender.
            </summary>
            <value>The name of the appender.</value>
            <remarks>
            <para>
            The name uniquely identifies the appender.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.AppenderSkeleton.RequiresLayout">
            <summary>
            Tests if this appender requires a <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/> to be set.
            </summary>
            <remarks>
            <para>
            In the rather exceptional case, where the appender 
            implementation admits a layout but can also work without it, 
            then the appender should return <c>true</c>.
            </para>
            <para>
            This default implementation always returns <c>true</c>.
            </para>
            </remarks>
            <returns>
            <c>true</c> if the appender requires a layout object, otherwise <c>false</c>.
            </returns>
        </member>
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.DEFAULT_BUFFER_SIZE">
            <summary>
            The default buffer size.
            </summary>
            <remarks>
            The default size of the cyclic buffer used to store events.
            This is set to 512 by default.
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.BufferingAppenderSkeleton"/> class.
            </summary>
        </member>
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.#ctor(System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.BufferingAppenderSkeleton"/> class.
            </summary>
            <param name="eventMustBeFixed">the events passed through this appender must be
            fixed by the time that they arrive in the derived class'<c>SendBuffer</c> method.</param>
        </member>
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.ActivateOptions">
            <summary>
            Initialise the appender based on the options set
            </summary>
        </member>
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.OnClose">
            <summary>
            Close this appender instance.
            </summary>
            <remarks>
            <para>Close this appender instance. If this appender is marked
            as not <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> then the remaining events in 
            the buffer must be sent when the appender is closed.</para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.Append(log4net.spi.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.spi.LoggingEvent)"/> method. 
            </summary>
            <param name="loggingEvent">the event to log</param>
            <remarks>
            <para>Stores the <paramref name="loggingEvent"/> in the cyclic buffer.</para>
            
            <para>The buffer will be sent (i.e. passed to the <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.helpers.CyclicBuffer)"/> 
            method) if one of the following conditions is met:</para>
            
            <list type="bullet">
            	<item>
            		<description>The cyclic buffer is full and this appender is
            		marked as not lossy (see <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/>)</description>
            	</item>
            	<item>
            		<description>An <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> is set and
            		it is triggered for the <paramref name="loggingEvent"/>
            		specified.</description>
            	</item>
            </list>
            
            <para>Before the event is stored in the buffer it is fixed
            (see <see cref="M:log4net.spi.LoggingEvent.FixVolatileData"/>) to ensure that
            any data referenced by the event will be valid when the buffer
            is processed.</para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.helpers.CyclicBuffer)">
            <summary>
            Sends the contents of the buffer.
            </summary>
            <param name="buffer">The buffer containing the events that need to be send.</param>
            <remarks>
            The subclass must override either <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.helpers.CyclicBuffer)"/>
            or <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.spi.LoggingEvent[])"/>.
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.spi.LoggingEvent[])">
            <summary>
            Sends the events.
            </summary>
            <param name="events">The events that need to be send.</param>
            <remarks>
            The subclass must override either <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.helpers.CyclicBuffer)"/>
            or <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.spi.LoggingEvent[])"/>.
            </remarks>
        </member>
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_bufferSize">
            <summary>
            The size of the cyclic buffer used to hold the logging events.
            </summary>
            <remarks>
            Set to <see cref="F:log4net.Appender.BufferingAppenderSkeleton.DEFAULT_BUFFER_SIZE"/> by default.
            </remarks>
        </member>
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_cb">
            <summary>
            The cyclic buffer used to store the logging events.
            </summary>
        </member>
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_evaluator">
            <summary>
            The triggering event evaluator that causes the buffer to be sent immediately.
            </summary>
            <remarks>
            The object that is used to determine if an event causes the entire
            buffer to be sent immediately. This field can be <c>null</c>, which 
            indicates that event triggering is not to be done. The evaluator
            can be set using the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> property. If this appender
            has the <see cref="F:log4net.Appender.BufferingAppenderSkeleton.m_lossy"/> (<see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> property) set to 
            <c>true</c> then an <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> must be set.
            </remarks>
        </member>
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_lossy">
            <summary>
            Indicates if the appender should overwrite events in the cyclic buffer 
            when it becomes full, or if the buffer should be flushed when the 
            buffer is full.
            </summary>
            <remarks>
            If this field is set to <c>true</c> then an <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> must 
            be set.
            </remarks>
        </member>
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_lossyEvaluator">
            <summary>
            The triggering event evaluator filters discarded events.
            </summary>
            <remarks>
            The object that is used to determine if an event that is discarded should
            really be discarded or if it should be sent to the appenders. 
            This field can be <c>null</c>, which indicates that all discarded events will
            be discarded. 
            </remarks>
        </member>
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_fixFlags">
            <summary>
            Value indicating which fields in the event should be fixed
            </summary>
            <remarks>
            By default all fields are fixed
            </remarks>
        </member>
        <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_eventMustBeFixed">
            <summary>
            The events delivered to the subclass must be fixed.
            </summary>
        </member>
        <member name="P:log4net.Appender.BufferingAppenderSkeleton.Lossy">
            <summary>
            Gets or sets a value that indicates whether the appender is lossy.
            </summary>
            <value>
            <c>true</c> if the appender is lossy, otherwise <c>false</c>. The default is <c>false</c>.
            </value>
            <remarks>
            <para>
            This appender uses a buffer to store logging events before 
            delivering them. A triggering event causes the whole buffer
            to be send to the remote sink. If the buffer overruns before
            a triggering event then logging events could be lost. Set
            <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> to <c>false</c> to prevent logging events 
            from being lost.
            </para>
            <para>If <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> is set to <c>true</c> then an
            <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> must be specified.</para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize">
            <summary>
            Gets or sets the size of the cyclic buffer used to hold the 
            logging events.
            </summary>
            <value>
            The size of the cyclic buffer used to hold the logging events.
            </value>
            <remarks>
            The <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> option takes a positive integer
            representing the maximum number of logging events to collect in 
            a cyclic buffer. When the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> is reached,
            oldest events are deleted as new events are added to the
            buffer. By default the size of the cyclic buffer is 512 events.
            </remarks>
        </member>
        <member name="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator">
            <summary>
            Gets or sets the <see cref="T:log4net.spi.ITriggeringEventEvaluator"/> that causes the 
            buffer to be sent immediately.
            </summary>
            <value>
            The <see cref="T:log4net.spi.ITriggeringEventEvaluator"/> that causes the buffer to be
            sent immediately.
            </value>
            <remarks>
            <para>
            The evaluator will be called for each event that is appended to this 
            appender. If the evaluator triggers then the current buffer will 
            immediately be sent (see <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.spi.LoggingEvent[])"/>).
            </para>
            <para>If <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> is set to <c>true</c> then an
            <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> must be specified.</para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.BufferingAppenderSkeleton.LossyEvaluator">
            <summary>
            Gets or sets the value of the <see cref="T:log4net.spi.ITriggeringEventEvaluator"/> to use.
            </summary>
            <value>
            The value of the <see cref="T:log4net.spi.ITriggeringEventEvaluator"/> to use.
            </value>
            <remarks>
            <para>
            The evaluator will be called for each event that is discarded from this 
            appender. If the evaluator triggers then the current buffer will immediately 
            be sent (see <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.spi.LoggingEvent[])"/>).
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.BufferingAppenderSkeleton.OnlyFixPartialEventData">
            <summary>
            Gets or sets a value indicating if only part of the logging event data
            should be fixed.
            </summary>
            <value>
            <c>true</c> if the appender should only fix part of the logging event 
            data, otherwise <c>false</c>. The default is <c>false</c>.
            </value>
            <remarks>
            <para>
            Setting this property to <c>true</c> will cause only part of the
            event data to be fixed and serialised. This will improve performance.
            </para>
            <para>
            See <see cref="M:log4net.spi.LoggingEvent.FixVolatileData(System.Boolean)"/> for more information.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.BufferingAppenderSkeleton.Fix">
            <summary>
            Gets or sets a the fields that will be fixed in the event
            </summary>
        </member>
        <member name="M:log4net.Appender.ADONetAppender.#ctor">
            <summary> 
            Initializes a new instance of the <see cref="T:log4net.Appender.ADONetAppender"/> class.
            </summary>
        </member>
        <member name="M:log4net.Appender.ADONetAppender.ActivateOptions">
            <summary>
            Initialise the appender based on the options set
            </summary>
        </member>
        <member name="M:log4net.Appender.ADONetAppender.OnClose">
            <summary>
            Override the parent method to close the database
            </summary>
        </member>
        <member name="M:log4net.Appender.ADONetAppender.SendBuffer(log4net.spi.LoggingEvent[])">
            <summary>
            Inserts the events into the database.
            </summary>
            <param name="events">The events to insert into the database.</param>
        </member>
        <member name="M:log4net.Appender.ADONetAppender.AddParameter(log4net.Appender.ADONetAppenderParameter)">
            <summary>
            Adds a parameter to the command.
            </summary>
            <param name="parameter">The parameter to add to the command.</param>
            <remarks>
            <para>
            Adds a parameter to the ordered list of command parameters.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.ADONetAppender.SendBuffer(System.Data.IDbTransaction,log4net.spi.LoggingEvent[])">
            <summary>
            Writes the events to the database using the transaction specified.
            </summary>
            <param name="dbTran">The transaction that the events will be executed under.</param>
            <param name="events">The array of events to insert into the database.</param>
            <remarks>
            The transaction argument can be <c>null</c> if the appender has been
            configured not to use transactions. See <see cref="P:log4net.Appender.ADONetAppender.UseTransactions"/>
            property for more information.
            </remarks>
        </member>
        <member name="M:log4net.Appender.ADONetAppender.GetLogStatement(log4net.spi.LoggingEvent)">
            <summary>
            Formats the log message into database statement text.
            </summary>
            <param name="logEvent">The event being logged.</param>
            <remarks>
            This method can be overridden by subclasses to provide 
            more control over the format of the database statement.
            </remarks>
            <returns>
            Text that can be passed to a <see cref="T:System.Data.IDbCommand"/>.
            </returns>
        </member>
        <member name="M:log4net.Appender.ADONetAppender.InitializeDatabaseConnection">
            <summary>
            Connects to the database.
            </summary>		
        </member>
        <member name="M:log4net.Appender.ADONetAppender.ResolveConnectionType">
            <summary>
            Retrieves the class type of the ADO.NET provider.
            </summary>
        </member>
        <member name="M:log4net.Appender.ADONetAppender.InitializeDatabaseCommand">
            <summary>
            Prepares the database command and initialize the parameters.
            </summary>
        </member>
        <member name="F:log4net.Appender.ADONetAppender.m_dbConnection">
            <summary>
            The <see cref="T:System.Data.IDbConnection"/> that will be used
            to insert logging events into a database.
            </summary>
        </member>
        <member name="F:log4net.Appender.ADONetAppender.m_dbCommand">
            <summary>
            The database command.
            </summary>
        </member>
        <member name="F:log4net.Appender.ADONetAppender.m_usePreparedCommand">
            <summary>
            Flag to indicate if we are using a command object
            </summary>
        </member>
        <member name="F:log4net.Appender.ADONetAppender.m_connectionString">
            <summary>
            Database connection string.
            </summary>
        </member>
        <member name="F:log4net.Appender.ADONetAppender.m_connectionType">
            <summary>
            String type name of the <see cref="T:System.Data.IDbConnection"/> type name.
            </summary>
        </member>
        <member name="F:log4net.Appender.ADONetAppender.m_commandText">
            <summary>
            The text of the command.
            </summary>
        </member>
        <member name="F:log4net.Appender.ADONetAppender.m_commandType">
            <summary>
            The command type.
            </summary>
        </member>
        <member name="F:log4net.Appender.ADONetAppender.m_useTransactions">
            <summary>
            Incicats whether to use Utransactions when writing to the 
            database.
            </summary>
        </member>
        <member name="F:log4net.Appender.ADONetAppender.m_parameters">
            <summary>
            The list of <see cref="T:log4net.Appender.ADONetAppenderParameter"/> objects.
            </summary>
            <remarks>
            The list of <see cref="T:log4net.Appender.ADONetAppenderParameter"/> objects.
            </remarks>
        </member>
        <member name="P:log4net.Appender.ADONetAppender.ConnectionString">
            <summary>
            Gets or sets the database connection string that is used to connect to 
            the database.
            </summary>
            <value>
            The database connection string used to connect to the database.
            </value>
            <remarks>
            <para>
            The connections string is specific to the connection type.
            See <see cref="P:log4net.Appender.ADONetAppender.ConnectionType"/> for more information.
            </para>
            </remarks>
            <example>Connection string for MS Access via ODBC:
            <code>"DSN=MS Access Database;UID=admin;PWD=;SystemDB=C:\\data\\System.mdw;SafeTransactions = 0;FIL=MS Access;DriverID = 25;DBQ=C:\\data\\train33.mdb"</code>
            </example>
            <example>Another connection string for MS Access via ODBC:
            <code>"Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\\Work\\cvs_root\\log4net-1.2\\access.mdb;UID=;PWD=;"</code>
            </example>
            <example>Connection string for MS Access via OLE DB:
            <code>"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Work\\cvs_root\\log4net-1.2\\access.mdb;User Id=;Password=;"</code>
            </example>
        </member>
        <member name="P:log4net.Appender.ADONetAppender.ConnectionType">
            <summary>
            Gets or sets the type name of the <see cref="T:System.Data.IDbConnection"/> connection
            that should be created.
            </summary>
            <value>
            The type name of the <see cref="T:System.Data.IDbConnection"/> connection.
            </value>
            <remarks>
            <para>
            The type name of the ADO.NET provider to use.
            </para>
            <para>
            The default is to use the OLE DB provider.
            </para>
            </remarks>
            <example>Use the OLE DB Provider. This is the default value.
            <code>System.Data.OleDb.OleDbConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</code>
            </example>
            <example>Use the MS SQL Server Provider. 
            <code>System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</code>
            </example>
            <example>Use the ODBC Provider. 
            <code>Microsoft.Data.Odbc.OdbcConnection,Microsoft.Data.Odbc,version=1.0.3300.0,publicKeyToken=b77a5c561934e089,culture=neutral</code>
            This is an optional package that you can download from 
            <a href="http://msdn.microsoft.com/downloads">http://msdn.microsoft.com/downloads</a> 
            search for <b>ODBC .NET Data Provider</b>.
            </example>
        </member>
        <member name="P:log4net.Appender.ADONetAppender.CommandText">
            <summary>
            Gets or sets the command text that is used to insert logging events
            into the database.
            </summary>
            <value>
            The command text used to insert logging events into the database.
            </value>
            <remarks>
            <para>
            Either the text of the prepared statement or the
            name of the stored procedure to execute to write into
            the database.
            </para>
            <para>
            The <see cref="P:log4net.Appender.ADONetAppender.CommandType"/> property determines if
            this text is a prepared statement or a stored procedure.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.ADONetAppender.CommandType">
            <summary>
            Gets or sets the command type to execute.
            </summary>
            <value>
            The command type to execute.
            </value>
            <remarks>
            <para>
            This value may be either <see cref="F:System.Data.CommandType.Text"/> (<c>System.Data.CommandType.Text</c>) to specify
            that the <see cref="P:log4net.Appender.ADONetAppender.CommandText"/> is a prepared statement to execute, 
            or <see cref="F:System.Data.CommandType.StoredProcedure"/> (<c>System.Data.CommandType.StoredProcedure</c>) to specify that the
            <see cref="P:log4net.Appender.ADONetAppender.CommandText"/> property is the name of a stored procedure
            to execute.
            </para>
            <para>
            The default value is <see cref="F:System.Data.CommandType.Text"/> (<c>System.Data.CommandType.Text</c>).
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.ADONetAppender.UseTransactions">
            <summary>
            Gets or sets a value that indicates whether transactions should be used
            to insert logging events in the database.
            </summary>
            <value>
            <c>true</c> if transactions should be used to insert logging events in
            the database, otherwisr <c>false</c>. The default value is <c>true</c>.
            </value>
        </member>
        <member name="P:log4net.Appender.ADONetAppender.Connection">
            <summary>
            Gets or sets the underlying <see cref="T:System.Data.IDbConnection"/>.
            </summary>
            <value>
            The underlying <see cref="T:System.Data.IDbConnection"/>.
            </value>
            <remarks>
            <see cref="T:log4net.Appender.ADONetAppender"/> creates a <see cref="T:System.Data.IDbConnection"/> to insert 
            logging events into a database.  Classes deriving from <see cref="T:log4net.Appender.ADONetAppender"/> 
            can use this property to get or set this <see cref="T:System.Data.IDbConnection"/>.  Use the 
            underlying <see cref="T:System.Data.IDbConnection"/> returned from <see cref="P:log4net.Appender.ADONetAppender.Connection"/> if 
            you require access beyond that which <see cref="T:log4net.Appender.ADONetAppender"/> provides.
            </remarks>
        </member>
        <member name="T:log4net.Appender.ADONetAppenderParameter">
            <summary>
            Parameter type used by the <see cref="T:log4net.Appender.ADONetAppender"/>.
            </summary>
            <remarks>
            <para>
            This class provides the basic database parameter properties
            as defined by the <see cref="T:System.Data.IDbDataParameter"/> interface.
            </para>
            <para>This type can be subclassed to provide database specific
            functionality. The two methods that are called externally are
            <see cref="M:log4net.Appender.ADONetAppenderParameter.Prepare(System.Data.IDbCommand)"/> and <see cref="M:log4net.Appender.ADONetAppenderParameter.FormatValue(System.Data.IDbCommand,log4net.spi.LoggingEvent)"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.ADONetAppenderParameter.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.ADONetAppenderParameter"/>
            class.
            </summary>
        </member>
        <member name="M:log4net.Appender.ADONetAppenderParameter.Prepare(System.Data.IDbCommand)">
            <summary>
            Prepare the specified database command object.
            </summary>
            <param name="command">The command to prepare.</param>
            <remarks>
            <para>
            Prepares the database command object by adding
            this parameter to its collection of parameters.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.ADONetAppenderParameter.FormatValue(System.Data.IDbCommand,log4net.spi.LoggingEvent)">
            <summary>
            Renders the logging event and set the parameter value in the command.
            </summary>
            <param name="command">The command containing the parameter.</param>
            <param name="loggingEvent">The event to be rendered.</param>
            <remarks>
            <para>
            Renders the logging event using this parameters layout
            object. Sets the value of the parameter on the command object.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.ADONetAppenderParameter.m_parameterName">
            <summary>
            The name of this parameter.
            </summary>
        </member>
        <member name="F:log4net.Appender.ADONetAppenderParameter.m_dbType">
            <summary>
            The database type for this parameter.
            </summary>
        </member>
        <member name="F:log4net.Appender.ADONetAppenderParameter.m_precision">
            <summary>
            The precision for this parameter.
            </summary>
        </member>
        <member name="F:log4net.Appender.ADONetAppenderParameter.m_scale">
            <summary>
            The scale for this parameter.
            </summary>
        </member>
        <member name="F:log4net.Appender.ADONetAppenderParameter.m_size">
            <summary>
            The size for this parameter.
            </summary>
        </member>
        <member name="F:log4net.Appender.ADONetAppenderParameter.m_layout">
            <summary>
            The <see cref="T:log4net.Layout.IRawLayout"/> to use to render the
            logging event into an object for this parameter.
            </summary>
        </member>
        <member name="P:log4net.Appender.ADONetAppenderParameter.ParameterName">
            <summary>
            Gets or sets the name of this parameter.
            </summary>
            <value>
            The name of this parameter.
            </value>
        </member>
        <member name="P:log4net.Appender.ADONetAppenderParameter.DbType">
            <summary>
            Gets or sets the database type for this parameter.
            </summary>
            <value>
            The database type for this parameter.
            </value>
        </member>
        <member name="P:log4net.Appender.ADONetAppenderParameter.Precision">
            <summary>
            Gets or sets the precision for this parameter.
            </summary>
            <value>
            The precision for this parameter.
            </value>
        </member>
        <member name="P:log4net.Appender.ADONetAppenderParameter.Scale">
            <summary>
            Gets or sets the scale for this parameter.
            </summary>
            <value>
            The scale for this parameter.
            </value>
        </member>
        <member name="P:log4net.Appender.ADONetAppenderParameter.Size">
            <summary>
            Gets or sets the size for this parameter.
            </summary>
            <value>
            The size for this parameter.
            </value>
        </member>
        <member name="P:log4net.Appender.ADONetAppenderParameter.Layout">
            <summary>
            Gets or sets the <see cref="T:log4net.Layout.IRawLayout"/> to use to 
            render the logging event into an object for this 
            parameter.
            </summary>
            <value>
            The <see cref="T:log4net.Layout.IRawLayout"/> used to render the
            logging event into an object for this parameter.
            </value>
        </member>
        <member name="T:log4net.Appender.AppenderCollection">
            <summary>
            A strongly-typed collection of <see cref="T:log4net.Appender.IAppender"/> objects.
            </summary>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.Synchronized(log4net.Appender.AppenderCollection)">
            <summary>
            Creates a synchronized (thread-safe) wrapper for a 
            <c>AppenderCollection</c> instance.
            </summary>
            <returns>
            An <c>AppenderCollection</c> wrapper that is synchronized (thread-safe).
            </returns>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.ReadOnly(log4net.Appender.AppenderCollection)">
            <summary>
            Creates a read-only wrapper for a 
            <c>AppenderCollection</c> instance.
            </summary>
            <returns>
            An <c>AppenderCollection</c> wrapper that is read-only.
            </returns>
        </member>
        <member name="F:log4net.Appender.AppenderCollection.EmptyCollection">
            <summary>
            An empty readonly static AppenderCollection
            </summary>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.#ctor">
            <summary>
            Initializes a new instance of the <c>AppenderCollection</c> class
            that is empty and has the default initial capacity.
            </summary>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <c>AppenderCollection</c> class
            that has the specified initial capacity.
            </summary>
            <param name="capacity">
            The number of elements that the new <c>AppenderCollection</c> is initially capable of storing.
            </param>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.#ctor(log4net.Appender.AppenderCollection)">
            <summary>
            Initializes a new instance of the <c>AppenderCollection</c> class
            that contains elements copied from the specified <c>AppenderCollection</c>.
            </summary>
            <param name="c">The <c>AppenderCollection</c> whose elements are copied to the new collection.</param>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.#ctor(log4net.Appender.IAppender[])">
            <summary>
            Initializes a new instance of the <c>AppenderCollection</c> class
            that contains elements copied from the specified <see cref="T:log4net.Appender.IAppender"/> array.
            </summary>
            <param name="a">The <see cref="T:log4net.Appender.IAppender"/> array whose elements are copied to the new list.</param>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.#ctor(System.Collections.ICollection)">
            <summary>
            Initializes a new instance of the <c>AppenderCollection</c> class
            that contains elements copied from the specified <see cref="T:log4net.Appender.IAppender"/> collection.
            </summary>
            <param name="col">The <see cref="T:log4net.Appender.IAppender"/> collection whose elements are copied to the new list.</param>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.#ctor(log4net.Appender.AppenderCollection.Tag)">
            <summary>
            Allow subclasses to avoid our default constructors
            </summary>
            <param name="t"></param>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.CopyTo(log4net.Appender.IAppender[])">
            <summary>
            Copies the entire <c>AppenderCollection</c> to a one-dimensional
            <see cref="T:log4net.Appender.IAppender"/> array.
            </summary>
            <param name="array">The one-dimensional <see cref="T:log4net.Appender.IAppender"/> array to copy to.</param>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.CopyTo(log4net.Appender.IAppender[],System.Int32)">
            <summary>
            Copies the entire <c>AppenderCollection</c> to a one-dimensional
            <see cref="T:log4net.Appender.IAppender"/> array, starting at the specified index of the target array.
            </summary>
            <param name="array">The one-dimensional <see cref="T:log4net.Appender.IAppender"/> array to copy to.</param>
            <param name="start">The zero-based index in <paramref name="array"/> at which copying begins.</param>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.Add(log4net.Appender.IAppender)">
            <summary>
            Adds a <see cref="T:log4net.Appender.IAppender"/> to the end of the <c>AppenderCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Appender.IAppender"/> to be added to the end of the <c>AppenderCollection</c>.</param>
            <returns>The index at which the value has been added.</returns>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.Clear">
            <summary>
            Removes all elements from the <c>AppenderCollection</c>.
            </summary>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.Clone">
            <summary>
            Creates a shallow copy of the <see cref="T:log4net.Appender.AppenderCollection"/>.
            </summary>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.Contains(log4net.Appender.IAppender)">
            <summary>
            Determines whether a given <see cref="T:log4net.Appender.IAppender"/> is in the <c>AppenderCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Appender.IAppender"/> to check for.</param>
            <returns><c>true</c> if <paramref name="item"/> is found in the <c>AppenderCollection</c>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.IndexOf(log4net.Appender.IAppender)">
            <summary>
            Returns the zero-based index of the first occurrence of a <see cref="T:log4net.Appender.IAppender"/>
            in the <c>AppenderCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Appender.IAppender"/> to locate in the <c>AppenderCollection</c>.</param>
            <returns>
            The zero-based index of the first occurrence of <paramref name="item"/> 
            in the entire <c>AppenderCollection</c>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.Insert(System.Int32,log4net.Appender.IAppender)">
            <summary>
            Inserts an element into the <c>AppenderCollection</c> at the specified index.
            </summary>
            <param name="index">The zero-based index at which <paramref name="item"/> should be inserted.</param>
            <param name="item">The <see cref="T:log4net.Appender.IAppender"/> to insert.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Appender.AppenderCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.Remove(log4net.Appender.IAppender)">
            <summary>
            Removes the first occurrence of a specific <see cref="T:log4net.Appender.IAppender"/> from the <c>AppenderCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Appender.IAppender"/> to remove from the <c>AppenderCollection</c>.</param>
            <exception cref="T:System.ArgumentException">
            The specified <see cref="T:log4net.Appender.IAppender"/> was not found in the <c>AppenderCollection</c>.
            </exception>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.RemoveAt(System.Int32)">
            <summary>
            Removes the element at the specified index of the <c>AppenderCollection</c>.
            </summary>
            <param name="index">The zero-based index of the element to remove.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Appender.AppenderCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.GetEnumerator">
            <summary>
            Returns an enumerator that can iterate through the <c>AppenderCollection</c>.
            </summary>
            <returns>An <see cref="T:log4net.Appender.AppenderCollection.Enumerator"/> for the entire <c>AppenderCollection</c>.</returns>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.AddRange(log4net.Appender.AppenderCollection)">
            <summary>
            Adds the elements of another <c>AppenderCollection</c> to the current <c>AppenderCollection</c>.
            </summary>
            <param name="x">The <c>AppenderCollection</c> whose elements should be added to the end of the current <c>AppenderCollection</c>.</param>
            <returns>The new <see cref="P:log4net.Appender.AppenderCollection.Count"/> of the <c>AppenderCollection</c>.</returns>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.AddRange(log4net.Appender.IAppender[])">
            <summary>
            Adds the elements of a <see cref="T:log4net.Appender.IAppender"/> array to the current <c>AppenderCollection</c>.
            </summary>
            <param name="x">The <see cref="T:log4net.Appender.IAppender"/> array whose elements should be added to the end of the <c>AppenderCollection</c>.</param>
            <returns>The new <see cref="P:log4net.Appender.AppenderCollection.Count"/> of the <c>AppenderCollection</c>.</returns>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.AddRange(System.Collections.ICollection)">
            <summary>
            Adds the elements of a <see cref="T:log4net.Appender.IAppender"/> collection to the current <c>AppenderCollection</c>.
            </summary>
            <param name="col">The <see cref="T:log4net.Appender.IAppender"/> collection whose elements should be added to the end of the <c>AppenderCollection</c>.</param>
            <returns>The new <see cref="P:log4net.Appender.AppenderCollection.Count"/> of the <c>AppenderCollection</c>.</returns>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.TrimToSize">
            <summary>
            Sets the capacity to the actual number of elements.
            </summary>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.ValidateIndex(System.Int32)">
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Appender.AppenderCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.ValidateIndex(System.Int32,System.Boolean)">
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Appender.AppenderCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="P:log4net.Appender.AppenderCollection.Count">
            <summary>
            Gets the number of elements actually contained in the <c>AppenderCollection</c>.
            </summary>
        </member>
        <member name="P:log4net.Appender.AppenderCollection.IsSynchronized">
            <summary>
            Gets a value indicating whether access to the collection is synchronized (thread-safe).
            </summary>
            <returns>true if access to the ICollection is synchronized (thread-safe); otherwise, false.</returns>
        </member>
        <member name="P:log4net.Appender.AppenderCollection.SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the collection.
            </summary>
        </member>
        <member name="P:log4net.Appender.AppenderCollection.Item(System.Int32)">
            <summary>
            Gets or sets the <see cref="T:log4net.Appender.IAppender"/> at the specified index.
            </summary>
            <param name="index">The zero-based index of the element to get or set.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            	<para><paramref name="index"/> is less than zero</para>
            	<para>-or-</para>
            	<para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Appender.AppenderCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="P:log4net.Appender.AppenderCollection.IsFixedSize">
            <summary>
            Gets a value indicating whether the collection has a fixed size.
            </summary>
            <value>true if the collection has a fixed size; otherwise, false. The default is false</value>
        </member>
        <member name="P:log4net.Appender.AppenderCollection.IsReadOnly">
            <summary>
            Gets a value indicating whether the IList is read-only.
            </summary>
            <value>true if the collection is read-only; otherwise, false. The default is false</value>
        </member>
        <member name="P:log4net.Appender.AppenderCollection.Capacity">
            <summary>
            Gets or sets the number of elements the <c>AppenderCollection</c> can contain.
            </summary>
        </member>
        <member name="T:log4net.Appender.AppenderCollection.IAppenderCollectionEnumerator">
            <summary>
            Supports type-safe iteration over a <see cref="T:log4net.Appender.AppenderCollection"/>.
            </summary>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.IAppenderCollectionEnumerator.MoveNext">
            <summary>
            Advances the enumerator to the next element in the collection.
            </summary>
            <exception cref="T:System.InvalidOperationException">
            The collection was modified after the enumerator was created.
            </exception>
            <returns>
            <c>true</c> if the enumerator was successfully advanced to the next element; 
            <c>false</c> if the enumerator has passed the end of the collection.
            </returns>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.IAppenderCollectionEnumerator.Reset">
            <summary>
            Sets the enumerator to its initial position, before the first element in the collection.
            </summary>
        </member>
        <member name="P:log4net.Appender.AppenderCollection.IAppenderCollectionEnumerator.Current">
            <summary>
            Gets the current element in the collection.
            </summary>
        </member>
        <member name="T:log4net.Appender.AppenderCollection.Tag">
            <summary>
            Type visible only to our subclasses
            Used to access protected constructor
            </summary>
        </member>
        <member name="F:log4net.Appender.AppenderCollection.Tag.Default">
            <summary>
            A value
            </summary>
        </member>
        <member name="T:log4net.Appender.AppenderCollection.Enumerator">
            <summary>
            Supports simple iteration over a <see cref="T:log4net.Appender.AppenderCollection"/>.
            </summary>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.Enumerator.#ctor(log4net.Appender.AppenderCollection)">
            <summary>
            Initializes a new instance of the <c>Enumerator</c> class.
            </summary>
            <param name="tc"></param>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.Enumerator.MoveNext">
            <summary>
            Advances the enumerator to the next element in the collection.
            </summary>
            <exception cref="T:System.InvalidOperationException">
            The collection was modified after the enumerator was created.
            </exception>
            <returns>
            <c>true</c> if the enumerator was successfully advanced to the next element; 
            <c>false</c> if the enumerator has passed the end of the collection.
            </returns>
        </member>
        <member name="M:log4net.Appender.AppenderCollection.Enumerator.Reset">
            <summary>
            Sets the enumerator to its initial position, before the first element in the collection.
            </summary>
        </member>
        <member name="P:log4net.Appender.AppenderCollection.Enumerator.Current">
            <summary>
            Gets the current element in the collection.
            </summary>
        </member>
        <member name="T:log4net.Appender.ASPNetTraceAppender">
            <summary>
            <para>
            Appends log events to the ASP.NET <see cref="T:System.Web.TraceContext"/> system.
            </para>
            </summary>
            <remarks>
            <para>
            Diagnostic information and tracing messages that you specify are appended to the output 
            of the page that is sent to the requesting browser. Optionally, you can view this information
            from a separate trace viewer (Trace.axd) that displays trace information for every page in a 
            given application.
            </para>
            <para>
            Trace statements are processed and displayed only when tracing is enabled. You can control 
            whether tracing is displayed to a page, to the trace viewer, or both.
            </para>
            <para>
            The logging event is passed to the <see cref="M:System.Web.TraceContext.Write(System.String)"/> or 
            <see cref="M:System.Web.TraceContext.Warn(System.String)"/> method depending on the level of the logging event.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.ASPNetTraceAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.ASPNetTraceAppender"/> class.
            </summary>
        </member>
        <member name="M:log4net.Appender.ASPNetTraceAppender.Append(log4net.spi.LoggingEvent)">
            <summary>
            Actual writing occurs here.
            <para>Most subclasses of <see cref="T:log4net.Appender.AppenderSkeleton"/> will need to 
            override this method.</para>
            </summary>
            <param name="loggingEvent">the event to log</param>
        </member>
        <member name="P:log4net.Appender.ASPNetTraceAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
        </member>
        <member name="T:log4net.Appender.BufferingForwardingAppender">
            <summary>
            Buffers events and then forwards them to attached appenders.
            </summary>
            <remarks>
            <para>
            The events are buffered in this appender until conditions are
            met to allow the appender to deliver the events to the attached 
            appenders. See <see cref="T:log4net.Appender.BufferingAppenderSkeleton"/> for the
            conditions that cause the buffer to be sent.
            </para>
            <para>The forwarding appender can be used to specify different 
            thresholds and filters for the same appender at different locations 
            within the hierarchy.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.spi.IAppenderAttachable">
            <summary>
            Interface for attaching appenders to objects.
            </summary>
        </member>
        <member name="M:log4net.spi.IAppenderAttachable.AddAppender(log4net.Appender.IAppender)">
            <summary>
            Attaches an appender.
            </summary>
            <param name="newAppender">The appender to add.</param>
        </member>
        <member name="M:log4net.spi.IAppenderAttachable.GetAppender(System.String)">
            <summary>
            Gets an attached appender with the specified name.
            </summary>
            <param name="name">The name of the appender to get.</param>
            <returns>
            The appender with the name specified, or <c>null</c> if no appender with the
            specified name is found.
            </returns>
        </member>
        <member name="M:log4net.spi.IAppenderAttachable.RemoveAllAppenders">
            <summary>
            Removes all attached appenders.
            </summary>
        </member>
        <member name="M:log4net.spi.IAppenderAttachable.RemoveAppender(log4net.Appender.IAppender)">
            <summary>
            Removes the specified appender from the list of attached appenders.
            </summary>
            <param name="appender">The appender to remove.</param>
        </member>
        <member name="M:log4net.spi.IAppenderAttachable.RemoveAppender(System.String)">
            <summary>
            Removes the appender with the specified name from the list of appenders.
            </summary>
            <param name="name">The name of the appender to remove.</param>
        </member>
        <member name="P:log4net.spi.IAppenderAttachable.Appenders">
            <summary>
            Gets all attached appenders.
            </summary>
            <returns>
            A collection of attached appenders, or <c>null</c> if there
            are no attached appenders.
            </returns>
        </member>
        <member name="M:log4net.Appender.BufferingForwardingAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.BufferingForwardingAppender"/> class.
            </summary>
        </member>
        <member name="M:log4net.Appender.BufferingForwardingAppender.OnClose">
            <summary>
            Closes the appender and releases resources.
            </summary>
            <remarks>
            <para>
            Releases any resources allocated within the appender such as file handles, 
            network connections, etc.
            </para>
            <para>
            It is a programming error to append to a closed appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingForwardingAppender.SendBuffer(log4net.spi.LoggingEvent[])">
            <summary>
            Send the events.
            </summary>
            <param name="events">The events that need to be send.</param>
            <remarks>
            <para>
            Forwards the events to the attached appenders.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingForwardingAppender.AddAppender(log4net.Appender.IAppender)">
            <summary>
            Adds an <see cref="T:log4net.Appender.IAppender"/> to the list of appenders of this
            instance.
            </summary>
            <param name="newAppender">The <see cref="T:log4net.Appender.IAppender"/> to add to this appender.</param>
            <remarks>
            <para>
            If the specified <see cref="T:log4net.Appender.IAppender"/> is already in the list of
            appenders, then it won't be added again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingForwardingAppender.GetAppender(System.String)">
            <summary>
            Looks for the appender with the specified name.
            </summary>
            <param name="name">The name of the appender to lookup.</param>
            <returns>
            The appender with the specified name, or <c>null</c>.
            </returns>
        </member>
        <member name="M:log4net.Appender.BufferingForwardingAppender.RemoveAllAppenders">
            <summary>
            Removes all previously added appenders from this appender.
            </summary>
            <remarks>
            <para>
            This is useful when re-reading configuration information.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.BufferingForwardingAppender.RemoveAppender(log4net.Appender.IAppender)">
            <summary>
            Removes the specified appender from the list of appenders.
            </summary>
            <param name="appender">The appender to remove.</param>
        </member>
        <member name="M:log4net.Appender.BufferingForwardingAppender.RemoveAppender(System.String)">
            <summary>
            Removes the appender with the specified name from the list of appenders.
            </summary>
            <param name="name">The name of the appender to remove.</param>
        </member>
        <member name="F:log4net.Appender.BufferingForwardingAppender.m_aai">
            <summary>
            Implementation of the <see cref="T:log4net.spi.IAppenderAttachable"/> interface
            </summary>
        </member>
        <member name="P:log4net.Appender.BufferingForwardingAppender.Appenders">
            <summary>
            Gets the appenders contained in this appender as an 
            <see cref="T:System.Collections.ICollection"/>.
            </summary>
            <remarks>
            If no appenders can be found, then an <see cref="T:log4net.helpers.EmptyCollection"/> 
            is returned.
            </remarks>
            <returns>
            A collection of the appenders in this appender.
            </returns>
        </member>
        <member name="T:log4net.Appender.ColoredConsoleAppender">
            <summary>
            Appends logging events to the console.
            </summary>
            <remarks>
            <para>
            ColoredConsoleAppender appends log events to the standard output stream
            or the error output stream using a layout specified by the 
            user. It also allows the color of a specific type of message to be set.
            </para>
            <para>
            By default, all output is written to the console's standard output stream.
            The <see cref="P:log4net.Appender.ColoredConsoleAppender.Target"/> property can be set to direct the output to the
            error stream.
            </para>
            <para>
            NOTE: This appender writes directly to the application's attached console
            not to the <c>System.Console.Out</c> or <c>System.Console.Error</c> <c>TextWriter</c>.
            The <c>System.Console.Out</c> and <c>System.Console.Error</c> streams can be
            programatically redirected (for example NUnit does this to capture program ouput).
            This appender will ignore these redirections because it needs to use Win32
            API calls to colorise the output. To respect these redirections the <see cref="T:log4net.Appender.ConsoleAppender"/>
            must be used.
            </para>
            <para>
            When configuring the colored console appender, mapping should be
            specified to map a logging level to a color. For example:
            </para>
            <code>
            &lt;mapping&gt;
            	&lt;level value="ERROR" /&gt;
            	&lt;foreColor value="White" /&gt;
            	&lt;backColor value="Red, HighIntensity" /&gt;
            &lt;/mapping&gt;
            &lt;mapping&gt;
            	&lt;level value="DEBUG" /&gt;
            	&lt;backColor value="Green" /&gt;
            &lt;/mapping&gt;
            </code>
            <para>
            The Level is the standard log4net logging level and ForeColor and BackColor can be any
            combination of:
            <list type="bullet">
            <item><term>Blue</term><description>color is blue</description></item>
            <item><term>Green</term><description>color is red</description></item>
            <item><term>Red</term><description>color is green</description></item>
            <item><term>White</term><description>color is white</description></item>
            <item><term>Yellow</term><description>color is yellow</description></item>
            <item><term>Purple</term><description>color is purple</description></item>
            <item><term>Cyan</term><description>color is cyan</description></item>
            <item><term>HighIntensity</term><description>color is intensified</description></item>
            </list>
            </para>
            
            </remarks>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.CONSOLE_OUT">
            <summary>
            The <see cref="P:log4net.Appender.ColoredConsoleAppender.Target"/> to use when writing to the Console 
            standard output stream.
            </summary>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.CONSOLE_ERR">
            <summary>
            The <see cref="P:log4net.Appender.ColoredConsoleAppender.Target"/> to use when writing to the Console 
            standard error output stream.
            </summary>
        </member>
        <member name="M:log4net.Appender.ColoredConsoleAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.ColoredConsoleAppender"/> class.
            </summary>
            <remarks>
            The instance of the <see cref="T:log4net.Appender.ColoredConsoleAppender"/> class is set up to write 
            to the standard output stream.
            </remarks>
        </member>
        <member name="M:log4net.Appender.ColoredConsoleAppender.#ctor(log4net.Layout.ILayout)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.ColoredConsoleAppender"/> class
            with the specified layout.
            </summary>
            <param name="layout">the layout to use for this appender</param>
            <remarks>
            The instance of the <see cref="T:log4net.Appender.ColoredConsoleAppender"/> class is set up to write 
            to the standard output stream.
            </remarks>
        </member>
        <member name="M:log4net.Appender.ColoredConsoleAppender.#ctor(log4net.Layout.ILayout,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.ColoredConsoleAppender"/> class
            with the specified layout.
            </summary>
            <param name="layout">the layout to use for this appender</param>
            <param name="writeToErrorStream">flag set to <c>true</c> to write to the console error stream</param>
            <remarks>
            When <paramref name="writeToErrorStream"/> is set to <c>true</c>, output is written to
            the standard error output stream.  Otherwise, output is written to the standard
            output stream.
            </remarks>
        </member>
        <member name="M:log4net.Appender.ColoredConsoleAppender.AddMapping(log4net.Appender.ColoredConsoleAppender.ColoredConsoleAppenderLevelColorMapping)">
            <summary>
            Add a mapping of level to color - done by the config file
            </summary>
            <param name="mapping">The mapping to add</param>
        </member>
        <member name="M:log4net.Appender.ColoredConsoleAppender.Append(log4net.spi.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.spi.LoggingEvent)"/> method.
            </summary>
            <param name="loggingEvent">The event to log.</param>
            <remarks>
            <para>
            Writes the event to the console.
            </para>
            <para>
            The format of the output will depend on the appender's layout.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.ColoredConsoleAppender.Target">
            <summary>
            Target is the value of the console output stream.
            This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
            </summary>
            <value>
            Target is the value of the console output stream.
            This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
            </value>
        </member>
        <member name="P:log4net.Appender.ColoredConsoleAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
        </member>
        <member name="T:log4net.Appender.ColoredConsoleAppender.Colors">
            <summary>
            The enum of possible color values for use with the color mapping method
            </summary>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Blue">
            <summary>
            color is blue
            </summary>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Green">
            <summary>
            color is green
            </summary>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Red">
            <summary>
            color is red
            </summary>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.White">
            <summary>
            color is white
            </summary>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Yellow">
            <summary>
            color is yellow
            </summary>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Purple">
            <summary>
            color is purple
            </summary>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Cyan">
            <summary>
            color is cyan
            </summary>
        </member>
        <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.HighIntensity">
            <summary>
            color is inensified
            </summary>
        </member>
        <member name="T:log4net.Appender.ColoredConsoleAppender.ColoredConsoleAppenderLevelColorMapping">
            <summary>
            A class to act as a mapping between the level that a logging call is made at and
            the color it should be displayed as.
            </summary>
        </member>
        <member name="P:log4net.Appender.ColoredConsoleAppender.ColoredConsoleAppenderLevelColorMapping.Level">
            <summary>
            The level to map to a color
            </summary>
        </member>
        <member name="P:log4net.Appender.ColoredConsoleAppender.ColoredConsoleAppenderLevelColorMapping.ForeColor">
            <summary>
            The mapped foreground color for the specified level
            </summary>
        </member>
        <member name="P:log4net.Appender.ColoredConsoleAppender.ColoredConsoleAppenderLevelColorMapping.BackColor">
            <summary>
            The mapped background color for the specified level
            </summary>
        </member>
        <member name="T:log4net.Appender.ConsoleAppender">
            <summary>
            Appends logging events to the console.
            </summary>
            <remarks>
            <para>
            ConsoleAppender appends log events to the standard output stream
            or the error output stream using a layout specified by the 
            user.
            </para>
            <para>
            By default, all output is written to the console's standard output stream.
            The <see cref="P:log4net.Appender.ConsoleAppender.Target"/> property can be set to direct the output to the
            error stream.
            </para>
            <para>
            NOTE: This appender writes each message to the <c>System.Console.Out</c> or 
            <c>System.Console.Error</c> that is set at the time the event is appended.
            Therefore it is possible to progamatically redirect the output of this appender 
            (for example NUnit does this to capture program ouput). While this is the desired
            behaviour of this appender it may have security implications in your application. 
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.ConsoleAppender.CONSOLE_OUT">
            <summary>
            The <see cref="P:log4net.Appender.ConsoleAppender.Target"/> to use when writing to the Console 
            standard output stream.
            </summary>
        </member>
        <member name="F:log4net.Appender.ConsoleAppender.CONSOLE_ERR">
            <summary>
            The <see cref="P:log4net.Appender.ConsoleAppender.Target"/> to use when writing to the Console 
            standard error output stream.
            </summary>
        </member>
        <member name="M:log4net.Appender.ConsoleAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.ConsoleAppender"/> class.
            </summary>
            <remarks>
            The instance of the <see cref="T:log4net.Appender.ConsoleAppender"/> class is set up to write 
            to the standard output stream.
            </remarks>
        </member>
        <member name="M:log4net.Appender.ConsoleAppender.#ctor(log4net.Layout.ILayout)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.ConsoleAppender"/> class
            with the specified layout.
            </summary>
            <param name="layout">the layout to use for this appender</param>
            <remarks>
            The instance of the <see cref="T:log4net.Appender.ConsoleAppender"/> class is set up to write 
            to the standard output stream.
            </remarks>
        </member>
        <member name="M:log4net.Appender.ConsoleAppender.#ctor(log4net.Layout.ILayout,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.ConsoleAppender"/> class
            with the specified layout.
            </summary>
            <param name="layout">the layout to use for this appender</param>
            <param name="writeToErrorStream">flag set to <c>true</c> to write to the console error stream</param>
            <remarks>
            When <paramref name="writeToErrorStream"/> is set to <c>true</c>, output is written to
            the standard error output stream.  Otherwise, output is written to the standard
            output stream.
            </remarks>
        </member>
        <member name="M:log4net.Appender.ConsoleAppender.Append(log4net.spi.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.spi.LoggingEvent)"/> method.
            </summary>
            <param name="loggingEvent">The event to log.</param>
            <remarks>
            <para>
            Writes the event to the console.
            </para>
            <para>
            The format of the output will depend on the appender's layout.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.ConsoleAppender.Target">
            <summary>
            Target is the value of the console output stream.
            This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
            </summary>
            <value>
            Target is the value of the console output stream.
            This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
            </value>
        </member>
        <member name="P:log4net.Appender.ConsoleAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
        </member>
        <member name="T:log4net.Appender.CountingAppender">
            <summary>
            Implements an Appender for test purposes that counts the
            number of output calls to <see cref="M:log4net.Appender.CountingAppender.Append(log4net.spi.LoggingEvent)"/>.
            </summary>
            <remarks>
            This appender is used in the unit tests.
            </remarks>
        </member>
        <member name="M:log4net.Appender.CountingAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.CountingAppender"/> class.
            </summary>
        </member>
        <member name="M:log4net.Appender.CountingAppender.Append(log4net.spi.LoggingEvent)">
            <summary>
            Registers how many times the method has been called.
            </summary>
            <param name="logEvent">The logging event.</param>
        </member>
        <member name="F:log4net.Appender.CountingAppender.m_counter">
            <summary>
            The number of times <see cref="M:log4net.Appender.CountingAppender.Append(log4net.spi.LoggingEvent)"/> has been called.
            </summary>
        </member>
        <member name="P:log4net.Appender.CountingAppender.Counter">
            <summary>
            Returns the number of times <see cref="M:log4net.Appender.CountingAppender.Append(log4net.spi.LoggingEvent)"/> has been called.
            </summary>
            <value>
            The number of times <see cref="M:log4net.Appender.CountingAppender.Append(log4net.spi.LoggingEvent)"/> has been called.
            </value>
        </member>
        <member name="T:log4net.Appender.EventLogAppender">
            <summary>
            Writes events to the system event log.
            </summary>
            <remarks>
            <para>
            The <c>EventID</c> of the event log entry can be
            set using the <c>EventLogEventID</c> property (<see cref="P:log4net.spi.LoggingEvent.Properties"/>)
            on the <see cref="T:log4net.spi.LoggingEvent"/>.
            </para>
            <para>
            There is a limit of 32K characters for an event log message
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.EventLogAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.EventLogAppender"/> class.
            </summary>
        </member>
        <member name="M:log4net.Appender.EventLogAppender.#ctor(log4net.Layout.ILayout)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.EventLogAppender"/> class
            with the specified <see cref="T:log4net.Layout.ILayout"/>.
            </summary>
            <param name="layout">The <see cref="T:log4net.Layout.ILayout"/> to use with this appender.</param>
        </member>
        <member name="M:log4net.Appender.EventLogAppender.ActivateOptions">
            <summary>
            Initialise the appender based on the options set
            </summary>
        </member>
        <member name="M:log4net.Appender.EventLogAppender.Append(log4net.spi.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.spi.LoggingEvent)"/>
            method. 
            </summary>
            <param name="loggingEvent">the event to log</param>
            <remarks>
            <para>Writes the event to the system event log using the 
            <see cref="P:log4net.Appender.EventLogAppender.ApplicationName"/>.</para>
            
            <para>If the event has an <c>EventID</c> property (see <see cref="P:log4net.spi.LoggingEvent.Properties"/>)
            set then this integer will be used as the event log event id.</para>
            
            <para>
            There is a limit of 32K characters for an event log message
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.EventLogAppender.GetEntryType(log4net.spi.Level)">
            <summary>
            Get the equivalent <see cref="T:System.Diagnostics.EventLogEntryType"/> for a <see cref="T:log4net.spi.Level"/> <paramref name="p"/>
            </summary>
            <param name="level">the Level to convert to an EventLogEntryType</param>
            <returns>The equivalent <see cref="T:System.Diagnostics.EventLogEntryType"/> for a <see cref="T:log4net.spi.Level"/> <paramref name="p"/></returns>
            <remarks>
            Because there are fewer applicable <see cref="T:System.Diagnostics.EventLogEntryType"/>
            values to use in logging levels than there are in the 
            <see cref="T:log4net.spi.Level"/> this is a one way mapping. There is
            a loss of information during the conversion.
            </remarks>
        </member>
        <member name="F:log4net.Appender.EventLogAppender.m_logName">
            <summary>
            The log name is the section in the event logs where the messages
            are stored.
            </summary>
        </member>
        <member name="F:log4net.Appender.EventLogAppender.m_applicationName">
            <summary>
            Name of the application to use when logging.  This appears in the
            application column of the event log named by <see cref="F:log4net.Appender.EventLogAppender.m_logName"/>.
            </summary>
        </member>
        <member name="F:log4net.Appender.EventLogAppender.m_machineName">
            <summary>
            The name of the machine which holds the event log. This is
            currently only allowed to be '.' i.e. the current machine.
            </summary>
        </member>
        <member name="P:log4net.Appender.EventLogAppender.LogName">
            <summary>
            The name of the log where messages will be stored.
            </summary>
            <value>
            The string name of the log where messages will be stored.
            </value>
            <remarks>
            <para>This is the name of the log as it appears in the Event Viewer
            tree. The default value is to log into the <c>Application</c>
            log, this is where most applications write their events. However
            if you need a separate log for your application (or applications)
            then you should set the <see cref="P:log4net.Appender.EventLogAppender.LogName"/> appropriately.</para>
            <para>This should not be used to distinguish your event log messages
            from those of other applications, the <see cref="P:log4net.Appender.EventLogAppender.ApplicationName"/>
            property should be used to distinguish events. This property should be 
            used to group together events into a single log.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.EventLogAppender.ApplicationName">
            <summary>
            Property used to set the Application name.  This appears in the
            event logs when logging.
            </summary>
            <value>
            The string used to distinguish events from different sources.
            </value>
            <remarks>
            Sets the event log source property.
            </remarks>
        </member>
        <member name="P:log4net.Appender.EventLogAppender.MachineName">
            <summary>
            This property is used to return the name of the computer to use
            when accessing the event logs.  Currently, this is the current
            computer, denoted by a dot "."
            </summary>
            <value>
            The string name of the machine holding the event log that 
            will be logged into.
            </value>
            <remarks>
            This property cannot be changed. It is currently set to '.'
            i.e. the local machine. This may be changed in future.
            </remarks>
        </member>
        <member name="P:log4net.Appender.EventLogAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
        </member>
        <member name="T:log4net.Appender.FileAppender">
            <summary>
            Appends logging events to a file.
            </summary>
            <remarks>
            <para>
            Logging events are sent to the specified file.
            </para>
            <para>
            The file can be opened in either append or
            overwrite mode.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.TextWriterAppender">
            <summary>
            Sends logging events to a <see cref="T:System.IO.TextWriter"/>.
            </summary>
            <remarks>
            An Appender that writes to a <see cref="T:System.IO.TextWriter"/>.
            </remarks>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.TextWriterAppender"/> class.
            </summary>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.#ctor(log4net.Layout.ILayout,System.IO.Stream)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.TextWriterAppender"/> class and
            sets the output destination to a new <see cref="T:System.IO.StreamWriter"/> initialized 
            with the specified <see cref="T:System.IO.Stream"/>.
            </summary>
            <param name="layout">The layout to use with this appender.</param>
            <param name="os">The <see cref="T:System.IO.Stream"/> to output to.</param>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.#ctor(log4net.Layout.ILayout,System.IO.TextWriter)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.TextWriterAppender"/> class and sets
            the output destination to the specified <see cref="T:System.IO.StreamWriter"/>.
            </summary>
            <param name="layout">The layout to use with this appender</param>
            <param name="writer">The <see cref="T:System.IO.TextWriter"/> to output to</param>
            <remarks>
            The <see cref="T:System.IO.TextWriter"/> must have been previously opened.
            </remarks>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.PreAppendCheck">
            <summary>
            This method determines if there is a sense in attempting to append.
            </summary>
            <remarks>
            <para>
            This method checked if an output target has been set and if a
            layout has been set. 
            </para>
            </remarks>
            <returns><c>false</c> if any of the preconditions fail.</returns>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.Append(log4net.spi.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.spi.LoggingEvent)"/>
            method. 
            </summary>
            <param name="loggingEvent">The event to log.</param>
            <remarks>
            <para>
            Writes a log statement to the output stream if the output stream exists 
            and is writable.  
            </para>
            <para>
            The format of the output will depend on the appender's layout.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.OnClose">
            <summary>
            Close this appender instance. The underlying stream or writer is also closed.
            </summary>
            <remarks>
            Closed appenders cannot be reused.
            </remarks>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.WriteFooterAndCloseWriter">
            <summary>
            Writes the footer and closes the underlying <see cref="T:System.IO.TextWriter"/>.
            </summary>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.CloseWriter">
            <summary>
            Closes the underlying <see cref="T:System.IO.TextWriter"/>.
            </summary>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.Reset">
            <summary>
            Clears internal references to the underlying <see cref="T:System.IO.TextWriter"/> 
            and other variables.
            </summary>
            <remarks>
            Subclasses can override this method for an alternate closing behaviour.
            </remarks>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.WriteFooter">
            <summary>
            Writes a footer as produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Footer"/> property.
            </summary>
        </member>
        <member name="M:log4net.Appender.TextWriterAppender.WriteHeader">
            <summary>
            Writes a header produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Header"/> property.
            </summary>
        </member>
        <member name="F:log4net.Appender.TextWriterAppender.m_qtw">
            <summary>
            This is the <see cref="T:log4net.helpers.QuietTextWriter"/> where logging events
            will be written to. 
            </summary>
        </member>
        <member name="F:log4net.Appender.TextWriterAppender.m_immediateFlush">
            <summary>
            Immediate flush means that the underlying <see cref="T:System.IO.TextWriter"/> 
            or output stream will be flushed at the end of each append operation.
            </summary>
            <remarks>
            <para>
            Immediate flush is slower but ensures that each append request is 
            actually written. If <see cref="P:log4net.Appender.TextWriterAppender.ImmediateFlush"/> is set to
            <c>false</c>, then there is a good chance that the last few
            logging events are not actually persisted if and when the application 
            crashes.
            </para>
            <para>
            The default value is <c>true</c>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.TextWriterAppender.ImmediateFlush">
            <summary>
            Gets or set whether the appender will flush at the end 
            of each append operation.
            </summary>
            <value>
            <para>
            The default behaviour is to flush at the end of each 
            append operation.
            </para>
            <para>
            If this option is set to <c>false</c>, then the underlying 
            stream can defer persisting the logging event to a later 
            time.
            </para>
            </value>
            <remarks>
            Avoiding the flush operation at the end of each append results in
            a performance gain of 10 to 20 percent. However, there is safety
            trade-off involved in skipping flushing. Indeed, when flushing is
            skipped, then it is likely that the last few log events will not
            be recorded on disk when the application exits. This is a high
            price to pay even for a 20% performance gain.
            </remarks>
        </member>
        <member name="P:log4net.Appender.TextWriterAppender.Writer">
            <summary>
            Sets the <see cref="T:System.IO.TextWriter"/> where the log output will go.
            </summary>
            <remarks>
            <para>
            The specified <see cref="T:System.IO.TextWriter"/> must be open and writable.
            </para>
            <para>
            The <see cref="T:System.IO.TextWriter"/> will be closed when the appender 
            instance is closed.
            </para>
            <para>
            <b>Note:</b> Logging to an unopened <see cref="T:System.IO.TextWriter"/> will fail.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.TextWriterAppender.ErrorHandler">
            <summary>
            Gets or set the <see cref="T:log4net.spi.IErrorHandler"/> and the underlying 
            <see cref="T:log4net.helpers.QuietTextWriter"/>, if any, for this appender. 
            </summary>
            <value>
            The <see cref="T:log4net.spi.IErrorHandler"/> for this appender.
            </value>
        </member>
        <member name="P:log4net.Appender.TextWriterAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
        </member>
        <member name="M:log4net.Appender.FileAppender.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:log4net.Appender.FileAppender.#ctor(log4net.Layout.ILayout,System.String,System.Boolean)">
            <summary>
            Construct a new appender using the layout, file and append mode.
            </summary>
            <param name="layout">the layout to use with this appender</param>
            <param name="filename">the full path to the file to write to</param>
            <param name="append">flag to indicate if the file should be appended to</param>
        </member>
        <member name="M:log4net.Appender.FileAppender.#ctor(log4net.Layout.ILayout,System.String)">
            <summary>
            Construct a new appender using the layout and file specified.
            The file will be appended to.
            </summary>
            <param name="layout">the layout to use with this appender</param>
            <param name="filename">the full path to the file to write to</param>
        </member>
        <member name="M:log4net.Appender.FileAppender.ActivateOptions">
            <summary>
            Activate the options on the file appender. This will
            case the file to be opened.
            </summary>
        </member>
        <member name="M:log4net.Appender.FileAppender.Reset">
            <summary>
            Closes any previously opened file and calls the parent's <see cref="M:log4net.Appender.TextWriterAppender.Reset"/>.
            </summary>
        </member>
        <member name="M:log4net.Appender.FileAppender.CloseFile">
            <summary>
            Closes the previously opened file.
            </summary>
        </member>
        <member name="M:log4net.Appender.FileAppender.OpenFile(System.String,System.Boolean)">
            <summary>
            Sets and <i>opens</i> the file where the log output will
            go. The specified file must be writable.
            </summary>
            <param name="fileName">The path to the log file</param>
            <param name="append">If true will append to fileName. Otherwise will truncate fileName</param>
            <remarks>
            <para>If there was already an opened file, then the previous file
            is closed first.</para>
            
            <para>This method will ensure that the directory structure
            for the <paramref name="fileName"/> specified exists.</para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.FileAppender.SetQWForFiles(System.IO.TextWriter)">
            <summary>
            Sets the quiet writer being used.
            </summary>
            <remarks>
            This method can be overridden by sub classes.
            </remarks>
            <param name="writer">the writer to set</param>
        </member>
        <member name="M:log4net.Appender.FileAppender.ConvertToFullPath(System.String)">
            <summary>
            Convert a path into a fully qualified path.
            </summary>
            <param name="path">The path to convert.</param>
            <remarks>
            <para>
            Converts the path specified to a fully
            qualified path. If the path is relative it is
            taken as relative from the application base 
            directory.
            </para>
            </remarks>
            <returns>The fully qualified path.</returns>
        </member>
        <member name="F:log4net.Appender.FileAppender.m_appendToFile">
            <summary>
            Flag to indicate if we should append to the file
            or overwrite the file. The default is to append.
            </summary>
        </member>
        <member name="F:log4net.Appender.FileAppender.m_fileName">
            <summary>
            The name of the log file.
            </summary>
        </member>
        <member name="F:log4net.Appender.FileAppender.m_encoding">
            <summary>
            The encoding to use for the file stream.
            </summary>
        </member>
        <member name="P:log4net.Appender.FileAppender.File">
            <summary>
            Gets or sets the path to the file that logging will be written to.
            </summary>
            <value>
            The path to the file that logging will be written to.
            </value>
            <remarks>
            <para>
            If the path is relative it is taken as relative from 
            the application base directory.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.FileAppender.AppendToFile">
            <summary>
            Gets or sets a flag that indicates weather the file should be
            appended to or overwritten.
            </summary>
            <value>
            Indicates whether the file should be appended to or overwritten.
            </value>
            <remarks>
            <para>
            If the value is set to false then the file will be overwritten, if 
            it is set to true then the file will be appended to.
            </para>
            The default value is true.
            </remarks>
        </member>
        <member name="P:log4net.Appender.FileAppender.Encoding">
            <summary>
            Gets or sets <see cref="P:log4net.Appender.FileAppender.Encoding"/> used to write to the file.
            </summary>
            <value>
            The <see cref="P:log4net.Appender.FileAppender.Encoding"/> used to write to the file.
            </value>
        </member>
        <member name="T:log4net.Appender.ForwardingAppender">
            <summary>
            This appender forwards logging events to attached appenders.
            </summary>
            <remarks>
            <para>
            The forwarding appender can be used to specify different thresholds
            and filters for the same appender at different locations within the hierarchy.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.ForwardingAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.ForwardingAppender"/> class.
            </summary>
        </member>
        <member name="M:log4net.Appender.ForwardingAppender.OnClose">
            <summary>
            Closes the appender and releases resources.
            </summary>
            <remarks>
            <para>
            Releases any resources allocated within the appender such as file handles, 
            network connections, etc.
            </para>
            <para>
            It is a programming error to append to a closed appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.ForwardingAppender.Append(log4net.spi.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.spi.LoggingEvent)"/>
            method. 
            </summary>
            <param name="loggingEvent">The event to log.</param>
        </member>
        <member name="M:log4net.Appender.ForwardingAppender.AddAppender(log4net.Appender.IAppender)">
            <summary>
            Adds an <see cref="T:log4net.Appender.IAppender"/> to the list of appenders of this
            instance.
            </summary>
            <param name="newAppender">The <see cref="T:log4net.Appender.IAppender"/> to add to this appender.</param>
            <remarks>
            <para>
            If the specified <see cref="T:log4net.Appender.IAppender"/> is already in the list of
            appenders, then it won't be added again.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.ForwardingAppender.GetAppender(System.String)">
            <summary>
            Looks for the appender with the specified name.
            </summary>
            <param name="name">The name of the appender to lookup.</param>
            <returns>
            The appender with the specified name, or <c>null</c>.
            </returns>
        </member>
        <member name="M:log4net.Appender.ForwardingAppender.RemoveAllAppenders">
            <summary>
            Removes all previously added appenders from this appender.
            </summary>
            <remarks>
            <para>
            This is useful when re-reading configuration information.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.ForwardingAppender.RemoveAppender(log4net.Appender.IAppender)">
            <summary>
            Removes the specified appender from the list of appenders.
            </summary>
            <param name="appender">The appender to remove.</param>
        </member>
        <member name="M:log4net.Appender.ForwardingAppender.RemoveAppender(System.String)">
            <summary>
            Removes the appender with the specified name from the list of appenders.
            </summary>
            <param name="name">The name of the appender to remove.</param>
        </member>
        <member name="F:log4net.Appender.ForwardingAppender.m_aai">
            <summary>
            Implementation of the <see cref="T:log4net.spi.IAppenderAttachable"/> interface
            </summary>
        </member>
        <member name="P:log4net.Appender.ForwardingAppender.Appenders">
            <summary>
            Gets the appenders contained in this appender as an 
            <see cref="T:System.Collections.ICollection"/>.
            </summary>
            <remarks>
            If no appenders can be found, then an <see cref="T:log4net.helpers.EmptyCollection"/> 
            is returned.
            </remarks>
            <returns>
            A collection of the appenders in this appender.
            </returns>
        </member>
        <member name="T:log4net.Appender.MemoryAppender">
            <summary>
            Stores logging events in an array.
            </summary>
            <remarks>
            <para>
            The memory appender stores all the logging events
            that are appended in an in-memory array.
            </para>
            <para>
            Use the <see cref="P:log4net.Appender.MemoryAppender.Events"/> property to get
            the current list of events that have been appended.
            </para>
            <para>
            Use the <see cref="M:log4net.Appender.MemoryAppender.Clear"/> method to clear the
            current list of events.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.MemoryAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.MemoryAppender"/> class.
            </summary>
        </member>
        <member name="M:log4net.Appender.MemoryAppender.Append(log4net.spi.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.spi.LoggingEvent)"/> method. 
            </summary>
            <param name="loggingEvent">the event to log</param>
            <remarks>
            <para>Stores the <paramref name="loggingEvent"/> in the events list.</para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.MemoryAppender.Clear">
            <summary>
            Clear the list of events
            </summary>
            <remarks>
            Clear the list of events
            </remarks>
        </member>
        <member name="F:log4net.Appender.MemoryAppender.m_eventsList">
            <summary>
            The list of events that have been appended.
            </summary>
        </member>
        <member name="F:log4net.Appender.MemoryAppender.m_fixFlags">
            <summary>
            Value indicating which fields in the event should be fixed
            </summary>
            <remarks>
            By default all fields are fixed
            </remarks>
        </member>
        <member name="P:log4net.Appender.MemoryAppender.Events">
            <summary>
            Gets the events that have been logged.
            </summary>
            <value>
            The events that have been logged.
            </value>
        </member>
        <member name="P:log4net.Appender.MemoryAppender.OnlyFixPartialEventData">
            <summary>
            Gets or sets a value indicating whether only part of the logging event 
            data should be fixed.
            </summary>
            <value>
            <c>true</c> if the appender should only fix part of the logging event 
            data, otherwise <c>false</c>. The default is <c>false</c>.
            </value>
            <remarks>
            <para>
            Setting this property to <c>true</c> will cause only part of the event 
            data to be fixed and stored in the appender, hereby improving performace. 
            </para>
            <para>
            See <see cref="M:log4net.spi.LoggingEvent.FixVolatileData(System.Boolean)"/> for more information.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.MemoryAppender.Fix">
            <summary>
            Gets or sets a the fields that will be fixed in the event
            </summary>
        </member>
        <member name="T:log4net.Appender.NetSendAppender">
            <summary>
            Logs entries by sending network messages using the 
            <see cref="M:log4net.Appender.NetSendAppender.NetMessageBufferSend(System.String,System.String,System.String,System.String,System.Int32)"/> native function.
            </summary>
            <remarks>
            <para>
            You can send messages only to names that are active 
            on the network. If you send the message to a user name, 
            that user must be logged on and running the Messenger 
            service to receive the message.
            </para>
            <para>
            The receiver will get a top most window displaying the 
            messages one at a time, therefore this appender should 
            not be used to deliver a high volume of messages.
            </para>
            <para>
            The following table lists some possible uses for this appender :
            </para>
            <para>
            <list type="table">
                <listheader>
                    <term>Action</term>
                    <description>Property Value(s)</description>
                </listheader>
                <item>
                    <term>Send a message to a user account on the local machine</term>
                    <description>
                        <para>
                        <paramref name="Server"/> = &lt;name of the local machine&gt;
                        </para>
                        <para>
                        <paramref name="Recipient"/> = &lt;user name&gt;
                        </para>
                    </description>
                </item>
                <item>
                    <term>Send a message to a user account on a remote machine</term>
                    <description>
                        <para>
                        <paramref name="Server"/> = &lt;name of the remote machine&gt;
                        </para>
                        <para>
                        <paramref name="Recipient"/> = &lt;user name&gt;
                        </para>
                    </description>
                </item>
                <item>
                    <term>Send a message to a domain user account</term>
                    <description>
                        <para>
                        <paramref name="Server"/> = &lt;name of a domain controller | uninitialized&gt;
                        </para>
                        <para>
                        <paramref name="Recipient"/> = &lt;user name&gt;
                        </para>
                    </description>
                </item>
                <item>
                    <term>Send a message to all the names in a workgroup or domain</term>
                    <description>
                        <para>
                        <paramref name="Recipient"/> = &lt;workgroup name | domain name&gt;*
                        </para>
                    </description>
                </item>
                <item>
                    <term>Send a message from the local machine to a remote machine</term>
                    <description>
                        <para>
                        <paramref name="Server"/> = &lt;name of the local machine | uninitialized&gt;
                        </para>
                        <para>
                        <paramref name="Recipient"/> = &lt;name of the remote machine&gt;
                        </para>
                    </description>
                </item>
            </list>
            </para>
            <para>
            <b>Note :</b> security restrictions apply for sending 
            network messages, see <see cref="M:log4net.Appender.NetSendAppender.NetMessageBufferSend(System.String,System.String,System.String,System.String,System.Int32)"/> 
            for more information.
            </para>
            </remarks>
            <example>
            <para>
            An example configuration section to log information 
            using this appender from the local machine, named 
            LOCAL_PC, to machine OPERATOR_PC :
            </para>
            <code>
            &lt;appender name="NetSendAppender_Operator" type="log4net.Appender.NetSendAppender, log4net"&gt;
                &lt;param name="Server" value="LOCAL_PC" /&gt;
                &lt;param name="Recipient" value="OPERATOR_PC" /&gt;
                &lt;layout type="log4net.Layout.PatternLayout, log4net"&gt;
                    &lt;param name="ConversionPattern" value="%-5p %c [%x] - %m%n" /&gt;
                &lt;/layout&gt;
            &lt;/appender&gt;
            </code>
            </example>
        </member>
        <member name="F:log4net.Appender.NetSendAppender.m_server">
            <summary>
            The DNS or NetBIOS name of the server on which the function is to execute.
            </summary>
        </member>
        <member name="F:log4net.Appender.NetSendAppender.m_sender">
            <summary>
            The sender of the network message.
            </summary>
        </member>
        <member name="F:log4net.Appender.NetSendAppender.m_recipient">
            <summary>
            The message alias to which the message should be sent.
            </summary>
        </member>
        <member name="M:log4net.Appender.NetSendAppender.#ctor">
            <summary>
            Initializes the appender.
            </summary>
            <remarks>
            The default constructor initializes all fields to their default values.
            </remarks>
        </member>
        <member name="M:log4net.Appender.NetSendAppender.ActivateOptions">
            <summary>
            Initialise the appender based on the options set.
            </summary>
            <remarks>
            <para>
            The appender will be ignored if no <see cref="P:log4net.Appender.NetSendAppender.Recipient"/> was specified.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">The required property <see cref="P:log4net.Appender.NetSendAppender.Recipient"/> was not specified.</exception>
        </member>
        <member name="M:log4net.Appender.NetSendAppender.Append(log4net.spi.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.spi.LoggingEvent)"/> method.
            </summary>
            <param name="loggingEvent">The event to log.</param>
            <remarks>
            <para>
            Sends the event using a network message.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.NetSendAppender.NetMessageBufferSend(System.String,System.String,System.String,System.String,System.Int32)">
            <summary>
            Sends a buffer of information to a registered message alias.
            </summary>
            <param name="serverName">The DNS or NetBIOS name of the server on which the function is to execute.</param>
            <param name="msgName">The message alias to which the message buffer should be sent</param>
            <param name="fromName">The originator of the message.</param>
            <param name="buffer">The message text.</param>
            <param name="bufferSize">The length, in bytes, of the message text.</param>
            <remarks>
            <para>
            The following restrictions apply for sending network messages :
            </para>
            <para>
            <list type="table">
                <listheader>
                    <term>Platform</term>
                    <description>Requirements</description>
                </listheader>
                <item>
                    <term>Windows NT</term>
                    <description>
                        <para>
                        No special group membership is required to send a network message.
                        </para>
                        <para>
                        Admin, Accounts, Print, or Server Operator group membership is required to 
                        successfully send a network message on a remote server.
                        </para>
                    </description>
                </item>
                <item>
                    <term>Windows 2000 or later</term>
                    <description>
                        <para>
                        If you send a message on a domain controller that is running Active Directory, 
                        access is allowed or denied based on the access control list (ACL) for the securable 
                        object. The default ACL permits only Domain Admins and Account Operators to send a network message. 
                        </para>
                        <para>
                        On a member server or workstation, only Administrators and Server Operators can send a network message. 
                        </para>
                    </description>
                </item>
            </list>
            </para>
            <para>
            For more information see <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/netmgmt/netmgmt/security_requirements_for_the_network_management_functions.asp">Security Requirements for the Network Management Functions</a>.
            </para>
            </remarks>
            <returns>
            <para>
            If the function succeeds, the return value is zero.
            </para>
            </returns>
        </member>
        <member name="P:log4net.Appender.NetSendAppender.Sender">
            <summary>
            Gets or sets the sender of the message.
            </summary>
            <value>
            The sender of the message.
            </value>
            <remarks>
            If this property is not specified, the message is sent from the local computer.
            </remarks>
        </member>
        <member name="P:log4net.Appender.NetSendAppender.Recipient">
            <summary>
            Gets or sets the message alias to which the message should be sent.
            </summary>
            <value>
            The recipient of the message.
            </value>
            <remarks>
            This property should always be specified in order to send a message.
            </remarks>
        </member>
        <member name="P:log4net.Appender.NetSendAppender.Server">
            <summary>
            Gets or sets the DNS or NetBIOS name of the remote server on which the function is to execute.
            </summary>
            <value>
            DNS or NetBIOS name of the remote server on which the function is to execute.
            </value>
            <remarks>
            <para>
            For Windows NT 4.0 and earlier, the string should begin with \\.
            </para>
            <para>
            If this property is not specified, the local computer is used. 
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.NetSendAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
        </member>
        <member name="T:log4net.Appender.OutputDebugStringAppender">
            <summary>
            Appends log events to the OutputDebugString system.
            </summary>
            <remarks>
            <para>
            OutputDebugStringAppender appends log events to the
            OutputDebugString system.
            </para>
            <para>
            The string is passed to the native <c>OutputDebugString</c> 
            function.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.OutputDebugStringAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.OutputDebugStringAppender"/> class.
            </summary>
        </member>
        <member name="M:log4net.Appender.OutputDebugStringAppender.Append(log4net.spi.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.spi.LoggingEvent)"/>
            method. 
            </summary>
            <param name="loggingEvent">the event to log</param>
        </member>
        <member name="M:log4net.Appender.OutputDebugStringAppender.OutputDebugString(System.String)">
            <summary>
            Stub for OutputDebugString native method
            </summary>
            <param name="message">the string to output</param>
        </member>
        <member name="P:log4net.Appender.OutputDebugStringAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
        </member>
        <member name="T:log4net.Appender.RemotingAppender">
            <summary>
            Delivers logging events to a remote logging sink. 
            </summary>
            <remarks>
            <para>
            This Appender is designed to deliver events to a remote sink. 
            That is any object that implements the <see cref="T:log4net.Appender.RemotingAppender.IRemoteLoggingSink"/>
            interface. It delivers the events using .NET remoting. The
            object to deliver events to is specified by setting the
            appenders <see cref="P:log4net.Appender.RemotingAppender.Sink"/> property.</para>
            <para>This appender sets the <c>hostname</c> property in the 
            <see cref="P:log4net.spi.LoggingEvent.Properties"/> collection to the name of 
            the machine on which the event is logged.</para>
            </remarks>
            <seealso cref="T:log4net.Appender.RemotingAppender.IRemoteLoggingSink"/>
        </member>
        <member name="M:log4net.Appender.RemotingAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.RemotingAppender"/> class.
            </summary>
        </member>
        <member name="M:log4net.Appender.RemotingAppender.ActivateOptions">
            <summary>
            Initialise the appender based on the options set
            </summary>
        </member>
        <member name="M:log4net.Appender.RemotingAppender.SendBuffer(log4net.spi.LoggingEvent[])">
            <summary>
            Send the contents of the buffer to the remote sink.
            </summary>
            <param name="events">The events to send.</param>
        </member>
        <member name="F:log4net.Appender.RemotingAppender.m_sinkUrl">
            <summary>
            The URL of the remote sink.
            </summary>
        </member>
        <member name="F:log4net.Appender.RemotingAppender.m_sinkObj">
            <summary>
            The local proxy (.NET remoting) for the remote logging sink.
            </summary>
        </member>
        <member name="P:log4net.Appender.RemotingAppender.Sink">
            <summary>
            Gets or sets the URL of the well-known object that will accept 
            the logging events.
            </summary>
            <value>
            The well-known URL of the remote sink.
            </value>
        </member>
        <member name="T:log4net.Appender.RemotingAppender.IRemoteLoggingSink">
            <summary>
            Interface used to deliver <see cref="T:log4net.spi.LoggingEvent"/> objects to a remote sink.
            </summary>
            <remarks>
            This interface must be implemented by a remoting sink
            if the <see cref="T:log4net.Appender.RemotingAppender"/> is to be used
            to deliver logging events to the sink.
            </remarks>
        </member>
        <member name="M:log4net.Appender.RemotingAppender.IRemoteLoggingSink.LogEvents(log4net.spi.LoggingEvent[])">
            <summary>
            Delivers logging events to the remote sink
            </summary>
            <param name="events">Array of events to log.</param>
        </member>
        <member name="T:log4net.Appender.RollingFileAppender">
            <summary>
            Appender that rolls log files based on size or date or both.
            </summary>
            <remarks>
            <para>
            RollingFileAppender can function as either or and do both
            at the same time (making size based rolling files until a data/time 
            boundary is crossed at which time it rolls all of those files
            based on the setting for <see cref="P:log4net.Appender.RollingFileAppender.RollingStyle"/>.
            </para>
            <para>
            A of few additional optional features have been added:<br/>
            -- Attach date pattern for current log file <see cref="P:log4net.Appender.RollingFileAppender.StaticLogFileName"/><br/>
            -- Backup number increments for newer files <see cref="P:log4net.Appender.RollingFileAppender.CountDirection"/><br/>
            -- Infinite number of backups by file size <see cref="P:log4net.Appender.RollingFileAppender.MaxSizeRollBackups"/>
            </para>
            <para>
            A few notes and warnings:  For large or infinite number of backups
            countDirection &gt; 0 is highly recommended, with staticLogFileName = false if
            time based rolling is also used -- this will reduce the number of file renamings
            to few or none.  Changing staticLogFileName or countDirection without clearing
            the directory could have nasty side effects.  If Date/Time based rolling
            is enabled, CompositeRollingAppender will attempt to roll existing files
            in the directory without a date/time tag based on the last modified date
            of the base log files last modification.
            </para>
            <para>
            A maximum number of backups based on date/time boundaries would be nice
            but is not yet implemented.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.RollingFileAppender"/> class.
            </summary>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.SetQWForFiles(System.IO.TextWriter)">
            <summary>
            Sets the quiet writer being used.
            </summary>
            <remarks>
            This method can be overridden by sub classes.
            </remarks>
            <param name="writer">the writer to set</param>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.Append(log4net.spi.LoggingEvent)">
            <summary>
            Handles append time behaviour for CompositeRollingAppender.  This checks
            if a roll over either by date (checked first) or time (checked second)
            is need and then appends to the file last.
            </summary>
            <param name="loggingEvent"></param>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.OpenFile(System.String,System.Boolean)">
            <summary>
            Creates and opens the file for logging.  If <see cref="P:log4net.Appender.RollingFileAppender.StaticLogFileName"/>
            is false then the fully qualified name is determined and used.
            </summary>
            <param name="fileName">the name of the file to open</param>
            <param name="append">true to append to existing file</param>
            <remarks>
            <para>This method will ensure that the directory structure
            for the <paramref name="fileName"/> specified exists.</para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.DetermineCurSizeRollBackups">
            <summary>
            Determines curSizeRollBackups (only within the current rollpoint)
            </summary>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.GetWildcardPatternForFile(System.String)">
            <summary>
            Generates a wildcard pattern that can be used to find all files
            that are similar to the base file name.
            </summary>
            <param name="baseFileName"></param>
            <returns></returns>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.GetExistingFiles(System.String)">
            <summary>
            Builds a list of filenames for all files matching the base filename plus a file
            pattern.
            </summary>
            <param name="baseFilePath"></param>
            <returns></returns>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.RollOverIfDateBoundaryCrossing">
            <summary>
            Initiates a roll over if needed for crossing a date boundary since the last run.
            </summary>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.ExistingInit">
            <summary>
            <para>Initializes based on existing conditions at time of <see cref="M:log4net.Appender.RollingFileAppender.ActivateOptions"/>.
            The following is done:</para>
            	A) determine curSizeRollBackups (only within the current rollpoint)
            	B) initiates a roll over if needed for crossing a date boundary since the last run.
            </summary>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.InitializeFromOneFile(System.String,System.String)">
            <summary>
            Does the work of bumping the 'current' file counter higher
            to the highest count when an incremental file name is seen.
            The highest count is either the first file (when count direction
            is greater than 0 ) or the last file (when count direction less than 0).
            In either case, we want to know the highest count that is present.
            </summary>
            <param name="baseFile"></param>
            <param name="curFileName"></param>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.InitializeRollBackups(System.String,System.Collections.ArrayList)">
            <summary>
            Takes a list of files and a base file name, and looks for 
            'incremented' versions of the base file.  Bumps the max
            count up to the highest count seen.
            </summary>
            <param name="baseFile"></param>
            <param name="arrayFiles"></param>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.ComputeCheckPeriod">
            <summary>
            Calculates the RollPoint for the m_datePattern supplied.
            </summary>
            <returns>The RollPoint that is most accurate for the date pattern supplied</returns>
            <remarks>
            Essentially the date pattern is examined to determine what the
            most suitable roll point is. The roll point chosen is the roll point
            with the smallest period that can be detected using the date pattern
            supplied. i.e. if the date pattern only outputs the year, month, day 
            and hour then the smallest roll point that can be detected would be
            and hourly roll point as minutes could not be detected.
            </remarks>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.ActivateOptions">
            <summary>
            Sets initial conditions including date/time roll over information, first check,
            scheduledFilename, and calls <see cref="M:log4net.Appender.RollingFileAppender.ExistingInit"/> to initialize
            the current number of backups.
            </summary>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.RollOverTime">
            <summary>
            Rollover the file(s) to date/time tagged file(s).
            Opens the new file (through setFile) and resets curSizeRollBackups.
            </summary>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.RollFile(System.String,System.String)">
            <summary>
            Renames file <paramref name="fromFile"/> to file <paramref name="toFile"/>.  It
            also checks for existence of target file and deletes if it does.
            </summary>
            <param name="fromFile">Name of existing file to roll.</param>
            <param name="toFile">New name for file.</param>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.DeleteFile(System.String)">
            <summary>
            Deletes the specified file if it exists.
            </summary>
            <param name="fileName">The file to delete.</param>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.RollOverSize">
            <summary>
            Implements roll overs base on file size.
            </summary>
            <remarks>
            <para>If the maximum number of size based backups is reached
            (<c>curSizeRollBackups == maxSizeRollBackups</c>) then the oldest
            file is deleted -- it's index determined by the sign of countDirection.
            If <c>countDirection</c> &lt; 0, then files
            {<c>File.1</c>, ..., <c>File.curSizeRollBackups -1</c>}
            are renamed to {<c>File.2</c>, ...,
            <c>File.curSizeRollBackups</c>}.	 Moreover, <c>File</c> is
            renamed <c>File.1</c> and closed.</para>
            
            A new file is created to receive further log output.
            
            <para>If <c>maxSizeRollBackups</c> is equal to zero, then the
            <c>File</c> is truncated with no backup files created.</para>
            
            <para>If <c>maxSizeRollBackups</c> &lt; 0, then <c>File</c> is
            renamed if needed and no files are deleted.</para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.NextCheckDate(System.DateTime)">
            <summary>
            Roll on to the next interval after the date passed
            </summary>
            <param name="currentDateTime">the current date</param>
            <returns>the next roll point an interval after the currentDateTime date</returns>
            <remarks>
            Advances the date to the next roll point after the 
            currentDateTime date passed to the method.
            </remarks>
        </member>
        <member name="M:log4net.Appender.RollingFileAppender.NextCheckDate(System.DateTime,log4net.Appender.RollingFileAppender.RollPoint)">
            <summary>
            Roll on to the next interval after the date passed
            </summary>
            <param name="currentDateTime">the current date</param>
            <param name="rollPoint">the type of roll point we are working with</param>
            <returns>the next roll point an interval after the currentDateTime date</returns>
            <remarks>
            Advances the date to the next roll point after the 
            currentDateTime date passed to the method.
            </remarks>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.m_dateTime">
            <summary>
            This object supplies the current date/time.  Allows test code to plug in
            a method to control this class when testing date/time based rolling.
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.m_datePattern">
            <summary>
            The date pattern. By default, the pattern is set to <c>".yyyy-MM-dd"</c> 
            meaning daily rollover.
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.m_scheduledFilename">
            <summary>
            The actual formatted filename that is currently being written to
            or will be the file transferred to on roll over
            (based on staticLogFileName).
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.m_nextCheck">
            <summary>
            The timestamp when we shall next recompute the filename.
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.m_now">
            <summary>
            Holds date of last roll over
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.m_rollPoint">
            <summary>
            The type of rolling done
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.m_maxFileSize">
            <summary>
            The default maximum file size is 10MB
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.m_maxSizeRollBackups">
            <summary>
            There is zero backup files by default
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.m_curSizeRollBackups">
            <summary>
            How many sized based backups have been made so far
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.m_countDirection">
            <summary>
            The rolling file count direction. 
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.m_rollingStyle">
            <summary>
            The rolling mode used in this appender.
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.m_rollDate">
            <summary>
            Cache flag set if we are rolling by date.
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.m_rollSize">
            <summary>
            Cache flag set if we are rolling by size.
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.m_staticLogFileName">
            <summary>
            Value indicting whether to always log to the same file.
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.m_baseFileName">
            <summary>
            FileName provided in configuration.  Used for rolling properly
            </summary>
        </member>
        <member name="P:log4net.Appender.RollingFileAppender.DatePattern">
            <summary>
            Gets or sets the datepattern to be used for generating file names
            when rolling over on date.
            </summary>
            <value>
            The datepattern to be used for generating file names when rolling 
            over on date.
            </value>
            <remarks>
            <para>
            Takes a string in the same format as expected by 
            <see cref="T:log4net.DateFormatter.SimpleDateFormatter"/>.
            </para>
            <para>
            This property determines the rollover schedule when rolling over
            on date.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.RollingFileAppender.MaxSizeRollBackups">
            <summary>
            Gets or sets the maximum number of backup files that are kept before
            the oldest is erased.
            </summary>
            <value>
            The maximum number of backup files that are kept before the oldest is
            erased.
            </value>
            <remarks>
            <para>
            If set to zero, then there will be no backup files and the log file 
            will be truncated when it reaches <see cref="P:log4net.Appender.RollingFileAppender.MaxFileSize"/>.  
            </para>
            <para>
            If a negative number is supplied then no deletions will be made.  Note 
            that this could result in very slow performance as a large number of 
            files are rolled over unless <see cref="P:log4net.Appender.RollingFileAppender.CountDirection"/> is used.
            </para>
            <para>
            The maximum applies to <b>each</b> time based group of files and 
            <b>not</b> the total.
            </para>
            <para>
            Using a daily roll the maximum total files would be 
            <c>(#days run) * (maxSizeRollBackups)</c>.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.RollingFileAppender.MaxFileSize">
            <summary>
            Gets or sets the maximum size that the output file is allowed to reach
            before being rolled over to backup files.
            </summary>
            <value>
            The maximum size that the output file is allowed to reach before being 
            rolled over to backup files.
            </value>
            <remarks>
            <para>
            This property is equivalent to <see cref="P:log4net.Appender.RollingFileAppender.MaximumFileSize"/> except
            that it is required for differentiating the setter taking a
            <see cref="T:System.Int64"/> argument from the setter taking a <see cref="T:System.String"/> 
            argument.
            </para>
            <para>
            The default maximum filesize is 10MB.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.RollingFileAppender.MaximumFileSize">
            <summary>
            Gets or sets the maximum size that the output file is allowed to reach
            before being rolled over to backup files.
            </summary>
            <value>
            The maximum size that the output file is allowed to reach before being 
            rolled over to backup files.
            </value>
            <remarks>
            <para>
            This property allows you to specify the maximum size with the
            suffixes "KB", "MB" or "GB" so that the size is interpreted being 
            expressed respectively in kilobytes, megabytes or gigabytes. 
            </para>
            <para>
            For example, the value "10KB" will be interpreted as 10240.
            </para>
            <para>
            The default maximum filesize is 10MB.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.RollingFileAppender.File">
            <summary>
            Gets or sets the path to the file that logging will be written to.
            </summary>
            <value>
            The path to the file that logging will be written to.
            </value>
            <remarks>
            <para>
            If the path is relative it is taken as relative from 
            the application base directory.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.RollingFileAppender.CountDirection">
            <summary>
            Gets or sets the rolling file count direction. 
            </summary>
            <value>
            The rolling file count direction.
            </value>
            <remarks>
            <para>
            Indicates if the current file is the lowest numbered file or the
            highest numbered file.
            </para>
            <para>
            By default newer files have lower numbers (<see cref="P:log4net.Appender.RollingFileAppender.CountDirection"/> &lt; 0),
            ie. log.1 is most recent, log.5 is the 5th backup, etc...
            </para>
            <para>
            <see cref="P:log4net.Appender.RollingFileAppender.CountDirection"/> &gt; 0 does the opposite ie.
            log.1 is the first backup made, log.5 is the 5th backup made, etc.
            For infinite backups use <see cref="P:log4net.Appender.RollingFileAppender.CountDirection"/> &gt; 0 to reduce 
            rollover costs.
            </para>
            <para>The default file count direction is -1.</para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.RollingFileAppender.RollingStyle">
            <summary>
            Gets or sets the rolling style.
            </summary>
            <value>The rolling style.</value>
            <remarks>
            The default rolling style is <see cref="F:log4net.Appender.RollingFileAppender.RollingMode.Composite"/>.
            </remarks>
        </member>
        <member name="P:log4net.Appender.RollingFileAppender.StaticLogFileName">
            <summary>
            Gets or sets a value indicting whether to always log to
            the same file.
            </summary>
            <value>
            <c>true</c> if always should be logged to the same file, otherwise <c>false</c>.
            </value>
            <remarks>
            <para>
            By default file.log is always the current file.  Optionally
            file.log.yyyy-mm-dd for current formatted datePattern can by the currently
            logging file (or file.log.curSizeRollBackup or even
            file.log.yyyy-mm-dd.curSizeRollBackup).
            </para>
            <para>
            This will make time based rollovers with a large number of backups 
            much faster -- it won't have to
            rename all the backups!
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Appender.RollingFileAppender.RollingMode">
            <summary>
            Style of rolling to use
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.RollingMode.Size">
            <summary>
            Roll files based only on the size of the file
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.RollingMode.Date">
            <summary>
            Roll files based only on the date
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.RollingMode.Composite">
            <summary>
            Roll files based on both the size and date of the file
            </summary>
        </member>
        <member name="T:log4net.Appender.RollingFileAppender.RollPoint">
            <summary>
            The code assumes that the following 'time' constants are in a increasing sequence.
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.RollPoint.TopOfTrouble">
            <summary>
            Roll the log not based on the date
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.RollPoint.TopOfMinute">
            <summary>
            Roll the log for each minute
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.RollPoint.TopOfHour">
            <summary>
            Roll the log for each hour
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.RollPoint.HalfDay">
            <summary>
            Roll the log twice a day (midday and midnight)
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.RollPoint.TopOfDay">
            <summary>
            Roll the log each day (midnight)
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.RollPoint.TopOfWeek">
            <summary>
            Roll the log each week
            </summary>
        </member>
        <member name="F:log4net.Appender.RollingFileAppender.RollPoint.TopOfMonth">
            <summary>
            Roll the log each month
            </summary>
        </member>
        <member name="T:log4net.Appender.RollingFileAppender.IDateTime">
            <summary>
            This interface is used to supply Date/Time information to the <see cref="T:log4net.Appender.RollingFileAppender"/>.
            </summary>
            <remarks>
            This interface is used to supply Date/Time information to the <see cref="T:log4net.Appender.RollingFileAppender"/>.
            Used primarily to allow test classes to plug themselves in so they can
            supply test date/times.
            </remarks>
        </member>
        <member name="P:log4net.Appender.RollingFileAppender.IDateTime.Now">
            <summary>
            Gets the &quot;current&quot; time.
            </summary>
            <value>The &quot;current&quot; time.</value>
        </member>
        <member name="T:log4net.Appender.RollingFileAppender.DefaultDateTime">
            <summary>
            Default implementation of <see cref="T:log4net.Appender.RollingFileAppender.IDateTime"/> that returns the current time.
            </summary>
        </member>
        <member name="P:log4net.Appender.RollingFileAppender.DefaultDateTime.Now">
            <summary>
            Gets the &quot;current&quot; time.
            </summary>
            <value>The &quot;current&quot; time.</value>
        </member>
        <member name="T:log4net.Appender.SMTPAppender">
            <summary>
            Send an e-mail when a specific logging event occurs, typically on errors 
            or fatal errors.
            </summary>
            <remarks>
            <para>
            The number of logging events delivered in this e-mail depend on
            the value of <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> option. The
            <see cref="T:log4net.Appender.SMTPAppender"/> keeps only the last
            <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> logging events in its 
            cyclic buffer. This keeps memory requirements at a reasonable level while 
            still delivering useful application context.
            </para>
            <para>
            This appender sets the <c>hostname</c> property in the 
            <see cref="P:log4net.spi.LoggingEvent.Properties"/> collection to the name of 
            the machine on which the event is logged.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.SMTPAppender.#ctor">
            <summary>
            </summary>
        </member>
        <member name="M:log4net.Appender.SMTPAppender.SendBuffer(log4net.spi.LoggingEvent[])">
            <summary>
            Sends the contents of the cyclic buffer as an e-mail message.
            </summary>
            <param name="events">The logging events to send.</param>
        </member>
        <member name="P:log4net.Appender.SMTPAppender.To">
            <summary>
            Gets or sets a semicolon-delimited list of recipient e-mail addresses.
            </summary>
            <value>
            A semicolon-delimited list of e-mail addresses.
            </value>
        </member>
        <member name="P:log4net.Appender.SMTPAppender.From">
            <summary>
            Gets or sets the e-mail address of the sender.
            </summary>
            <value>
            The e-mail address of the sender.
            </value>
        </member>
        <member name="P:log4net.Appender.SMTPAppender.Subject">
            <summary>
            Gets or sets the subject line of the e-mail message.
            </summary>
            <value>
            The subject line of the e-mail message.
            </value>
        </member>
        <member name="P:log4net.Appender.SMTPAppender.SMTPHost">
            <summary>
            Gets or sets the name of the SMTP relay mail server to use to send 
            the e-mail messages.
            </summary>
            <value>
            The name of the e-mail relay server. If SmtpServer is not set, the 
            name of the local SMTP server is used.
            </value>
        </member>
        <member name="P:log4net.Appender.SMTPAppender.LocationInfo">
            <summary>
            Obselete
            </summary>
            <remarks>
            Use the BufferingAppenderSkeleton Fix methods instead 
            </remarks>
        </member>
        <member name="P:log4net.Appender.SMTPAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
        </member>
        <member name="T:log4net.Appender.SmtpPickupDirAppender">
            <summary>
            Send an email when a specific logging event occurs, typically on errors 
            or fatal errors. Rather than sending via smtp it writes a file into the
            directory specified by <see cref="P:log4net.Appender.SmtpPickupDirAppender.PickupDir"/>. This allows services such
            as the IIS SMTP agent to manage sending the messages.
            </summary>
            <remarks>
            <para>
            The configuration for this appender is identical to that of the <c>SMTPAppender</c>,
            except that instead of specifying the <c>SMTPAppender.SMTPHost</c> you specify
            <see cref="P:log4net.Appender.SmtpPickupDirAppender.PickupDir"/>.
            </para>
            <para>
            The number of logging events delivered in this e-mail depend on
            the value of <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> option. The
            <see cref="T:log4net.Appender.SmtpPickupDirAppender"/> keeps only the last
            <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> logging events in its 
            cyclic buffer. This keeps memory requirements at a reasonable level while 
            still delivering useful application context.
            </para>
            <para>
            This appender sets the <c>hostname</c> property in the 
            <see cref="P:log4net.spi.LoggingEvent.Properties"/> collection to the name of 
            the machine on which the event is logged.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.SmtpPickupDirAppender.#ctor">
            <summary>
            </summary>
        </member>
        <member name="M:log4net.Appender.SmtpPickupDirAppender.SendBuffer(log4net.spi.LoggingEvent[])">
            <summary>
            Sends the contents of the cyclic buffer as an e-mail message.
            </summary>
            <param name="events">The logging events to send.</param>
        </member>
        <member name="M:log4net.Appender.SmtpPickupDirAppender.ConvertToFullPath(System.String)">
            <summary>
            Convert a path into a fully qualified path.
            </summary>
            <param name="path">The path to convert.</param>
            <remarks>
            <para>
            Converts the path specified to a fully
            qualified path. If the path is relative it is
            taken as relative from the application base 
            directory.
            </para>
            </remarks>
            <returns>The fully qualified path.</returns>
        </member>
        <member name="P:log4net.Appender.SmtpPickupDirAppender.To">
            <summary>
            Gets or sets a semicolon-delimited list of recipient e-mail addresses.
            </summary>
            <value>
            A semicolon-delimited list of e-mail addresses.
            </value>
        </member>
        <member name="P:log4net.Appender.SmtpPickupDirAppender.From">
            <summary>
            Gets or sets the e-mail address of the sender.
            </summary>
            <value>
            The e-mail address of the sender.
            </value>
        </member>
        <member name="P:log4net.Appender.SmtpPickupDirAppender.Subject">
            <summary>
            Gets or sets the subject line of the e-mail message.
            </summary>
            <value>
            The subject line of the e-mail message.
            </value>
        </member>
        <member name="P:log4net.Appender.SmtpPickupDirAppender.PickupDir">
            <summary>
            Gets or sets the path to write the messages to. This should be the same
            as that used by the agent sending the messages.
            </summary>
        </member>
        <member name="P:log4net.Appender.SmtpPickupDirAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
        </member>
        <member name="T:log4net.Appender.TraceAppender">
            <summary>
            Appends log events to the <see cref="T:System.Diagnostics.Trace"/> system.
            </summary>
            <remarks>
            <para>
            The application configuration file can be used to control what listeners 
            are actually used.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.TraceAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.TraceAppender"/>.
            </summary>
        </member>
        <member name="M:log4net.Appender.TraceAppender.#ctor(log4net.Layout.ILayout)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.TraceAppender"/> 
            with a specified layout.
            </summary>
            <param name="layout">The layout to use with this appender.</param>
        </member>
        <member name="M:log4net.Appender.TraceAppender.OnClose">
            <summary>
            Overrides the parent method to close the default trace channel
            </summary>
        </member>
        <member name="M:log4net.Appender.TraceAppender.Append(log4net.spi.LoggingEvent)">
            <summary>
            Writes the logging event to the <see cref="T:System.Diagnostics.Trace"/> system.
            </summary>
            <param name="loggingEvent">The event to log.</param>
        </member>
        <member name="F:log4net.Appender.TraceAppender.m_immediateFlush">
            <summary>
            Immediate flush means that the underlying writer or output stream
            will be flushed at the end of each append operation.
            </summary>
            <remarks>
            <para>
            Immediate flush is slower but ensures that each append request is 
            actually written. If <see cref="P:log4net.Appender.TraceAppender.ImmediateFlush"/> is set to
            <c>false</c>, then there is a good chance that the last few
            logs events are not actually written to persistent media if and
            when the application crashes.
            </para>
            <para>
            The default value is <c>true</c>.</para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.TraceAppender.ImmediateFlush">
            <summary>
            Gets or sets a value that indicates whether the appender will 
            flush at the end of each write.
            </summary>
            <remarks>
            <para>The default behaviour is to flish at the end of each 
            write. If the option is set to<c>false</c>, then the underlying 
            stream can defer writing to physical medium to a later time. 
            </para>
            <para>
            Avoiding the flush operation at the end of each append results 
            in a performance gain of 10 to 20 percent. However, there is safety
            trade-off involved in skipping flushing. Indeed, when flushing is
            skipped, then it is likely that the last few log events will not
            be recorded on disk when the application exits. This is a high
            price to pay even for a 20% performance gain.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.TraceAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
        </member>
        <member name="T:log4net.Appender.UdpAppender">
            <summary>
            Sends logging events as connectionless UDP datagrams to a remote host or a 
            multicast group using an <see cref="T:System.Net.Sockets.UdpClient"/>.
            </summary>
            <remarks>
            <para>
            UDP guarantees neither that messages arrive, nor that they arrive in the correct order.
            </para>
            <para>
            This appender sets the <c>hostname</c> property in the 
            <see cref="P:log4net.spi.LoggingEvent.Properties"/> collection to the name of 
            the machine on which the event is logged.
            </para>
            <para>
            To view the logging results, a custom application can be developed that listens for logging 
            events.
            </para>
            <para>
            When decoding events send via this appender remember to use the same encoding
            to decode the events as was used to send the events. See the <see cref="P:log4net.Appender.UdpAppender.Encoding"/>
            property to specify the encoding to use.
            </para>
            </remarks>
            <example>
            This example shows how to log receive logging events that are sent 
            on IP address 244.0.0.1 and port 8080 to the console. The event is 
            encoded in the packet as a unicode string and it is decoded as such. 
            <code lang="C#">
            IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0);
            UdpClient udpClient;
            byte[] buffer;
            string loggingEvent;
            
            try {
                udpClient = new UdpClient(8080);
                
                while(true) 
                {
                    buffer = udpClient.Receive(ref remoteEndPoint);
                    loggingEvent = System.Text.Encoding.Unicode.GetString(buffer);
                    Console.WriteLine(loggingEvent);
                }
            } 
            catch(Exception e) 
            {
                Console.WriteLine(e.ToString());
            }
            </code>
            <code lang="Visual Basic">
            Dim remoteEndPoint as IPEndPoint
            Dim udpClient as UdpClient
            Dim buffer as Byte()
            Dim loggingEvent as String
            
            Try 
                remoteEndPoint = new IPEndPoint(IPAddress.Any, 0)
                udpClient = new UdpClient(8080)
            
                While True
                    buffer = udpClient.Receive(ByRef remoteEndPoint)
                    loggingEvent = System.Text.Encoding.Unicode.GetString(buffer)
                    Console.WriteLine(loggingEvent)
                Wend
            Catch e As Exception
                Console.WriteLine(e.ToString())
            End Try
            </code>
            <para>
            An example configuration section to log information using this appender to the 
            IP 224.0.0.1 on port 8080:
            </para>
            <code>
            &lt;appender name="UdpAppender" type="log4net.Appender.UdpAppender, log4net"&gt;
                &lt;param name="RemoteAddress" value="224.0.0.1" /&gt;
                &lt;param name="RemotePort" value="8080" /&gt;
                &lt;layout type="log4net.Layout.PatternLayout"&gt;
                    &lt;param name="ConversionPattern" value="%-5p %c [%x] - %m%n" /&gt;
                &lt;/layout&gt;
            &lt;/appender&gt;
            </code>
            </example>
        </member>
        <member name="M:log4net.Appender.UdpAppender.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Appender.UdpAppender"/> class.
            </summary>
            <remarks>
            The default constructor initializes all fields to their default values.
            </remarks>
        </member>
        <member name="M:log4net.Appender.UdpAppender.ActivateOptions">
            <summary>
            Initialise the appender based on the options set.
            </summary>
            <remarks>
            <para>
            The appender will be ignored if no <see cref="P:log4net.Appender.UdpAppender.RemoteAddress"/> was specified or 
            an invalid remote or local TCP port number was specified.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">The required property <see cref="P:log4net.Appender.UdpAppender.RemoteAddress"/> was not specified.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">The TCP port number assigned to <see cref="P:log4net.Appender.UdpAppender.LocalPort"/> or <see cref="P:log4net.Appender.UdpAppender.RemotePort"/> is less than <see cref="F:System.Net.IPEndPoint.MinPort"/> or greater than <see cref="F:System.Net.IPEndPoint.MaxPort"/>.</exception>
        </member>
        <member name="M:log4net.Appender.UdpAppender.Append(log4net.spi.LoggingEvent)">
            <summary>
            This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.spi.LoggingEvent)"/> method.
            </summary>
            <param name="loggingEvent">The event to log.</param>
            <remarks>
            <para>
            Sends the event using an UDP datagram.
            </para>
            <para>
            Exceptions are passed to the <see cref="P:log4net.Appender.AppenderSkeleton.ErrorHandler"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Appender.UdpAppender.OnClose">
            <summary>
            Closes the UDP connection and releases all resources associated with 
            this <see cref="T:log4net.Appender.UdpAppender"/> instance.
            </summary>
            <remarks>
            Disables the underlying <see cref="T:System.Net.Sockets.UdpClient"/> and releases all managed 
            and unmanaged resources associated with the <see cref="T:log4net.Appender.UdpAppender"/>.
            </remarks>
        </member>
        <member name="M:log4net.Appender.UdpAppender.InitializeClientConnection">
            <summary>
            Initializes the underlying  <see cref="T:System.Net.Sockets.UdpClient"/> connection.
            </summary>
            <remarks>
            <para>
            The underlying <see cref="T:System.Net.Sockets.UdpClient"/> is initialized and binds to the 
            port number from which you intend to communicate.
            </para>
            <para>
            Exceptions are passed to the <see cref="P:log4net.Appender.AppenderSkeleton.ErrorHandler"/>.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Appender.UdpAppender.m_remoteAddress">
            <summary>
            The IP address of the remote host or multicast group to which 
            the logging event will be sent.
            </summary>
        </member>
        <member name="F:log4net.Appender.UdpAppender.m_remotePort">
            <summary>
            The TCP port number of the remote host or multicast group to 
            which the logging event will be sent.
            </summary>
        </member>
        <member name="F:log4net.Appender.UdpAppender.m_remoteEndPoint">
            <summary>
            The cached remote endpoint to which the logging events will be sent.
            </summary>
        </member>
        <member name="F:log4net.Appender.UdpAppender.m_localPort">
            <summary>
            The TCP port number from which the <see cref="T:System.Net.Sockets.UdpClient"/> will communicate.
            </summary>
        </member>
        <member name="F:log4net.Appender.UdpAppender.m_client">
            <summary>
            The <see cref="T:System.Net.Sockets.UdpClient"/> instance that will be used for sending the 
            logging events.
            </summary>
        </member>
        <member name="F:log4net.Appender.UdpAppender.m_encoding">
            <summary>
            The encoding to use for the packet.
            </summary>
        </member>
        <member name="P:log4net.Appender.UdpAppender.RemoteAddress">
            <summary>
            Gets or sets the IP address of the remote host or multicast group to which
            the underlying <see cref="T:System.Net.Sockets.UdpClient"/> should sent the logging event.
            </summary>
            <value>
            The IP address of the remote host or multicast group to which the logging event 
            will be sent.
            </value>
            <remarks>
            <para>
            Multicast addresses are identified by IP class <b>D</b> addresses (in the range 224.0.0.0 to
            239.255.255.255).  Multicast packets can pass across different networks through routers, so
            it is possible to use multicasts in an Internet scenario as long as your network provider 
            supports multicasting.
            </para>
            <para>
            Hosts that want to receive particular multicast messages must register their interest by joining
            the multicast group.  Multicast messages are not sent to networks where no host has joined
            the multicast group.  Class <b>D</b> IP addresses are used for multicast groups, to differentiate
            them from normal host addresses, allowing nodes to easily detect if a message is of interest.
            </para>
            <para>
            Static multicast addresses that are needed globally are assigned by IANA.  A few examples are listed in the table below :
            </para>
            <para>
            <list type="table">
                <listheader>
                    <term>IP Address</term>
                    <description>Description</description>
                </listheader>
                <item>
                    <term>224.0.0.1</term>
                    <description>
                        <para>
                        Sends a message to all system on the subnet.
                        </para>
                    </description>
                </item>
                <item>
                    <term>224.0.0.2</term>
                    <description>
                        <para>
                        Sends a message to all routers on the subnet.
                        </para>
                    </description>
                </item>
                <item>
                    <term>224.0.0.12</term>
                    <description>
                        <para>
                        The DHCP server answers messages on the IP address 224.0.0.12, but only on a subnet.
                        </para>
                    </description>
                </item>
            </list>
            </para>
            <para>
            A complete list of actually reserved multicast addresses and their owners in the ranges
            defined by RFC 3171 can be found at the <A href="http://www.iana.org/assignments/multicast-addresses">IANA web site</A>. 
            </para>
            <para>
            The address range 239.0.0.0 to 239.255.255.255 is reserved for administrative scope-relative 
            addresses.  These addresses can be reused with other local groups.  Routers are typically 
            configured with filters to prevent multicast traffic in this range from flowing outside
            of the local network.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Appender.UdpAppender.RemotePort">
            <summary>
            Gets or sets the TCP port number of the remote host or multicast group to which 
            the underlying <see cref="T:System.Net.Sockets.UdpClient"/> should sent the logging event.
            </summary>
            <value>
            An integer value in the range <see cref="F:System.Net.IPEndPoint.MinPort"/> to <see cref="F:System.Net.IPEndPoint.MaxPort"/> 
            indicating the TCP port number of the remote host or multicast group to which the logging event 
            will be sent.
            </value>
            <remarks>
            The underlying <see cref="T:System.Net.Sockets.UdpClient"/> will send messages to this TCP port number
            on the remote host or multicast group.
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">The value specified is less than <see cref="F:System.Net.IPEndPoint.MinPort"/> or greater than <see cref="F:System.Net.IPEndPoint.MaxPort"/>.</exception>
        </member>
        <member name="P:log4net.Appender.UdpAppender.LocalPort">
            <summary>
            Gets or sets the TCP port number from which the underlying <see cref="T:System.Net.Sockets.UdpClient"/> will communicate.
            </summary>
            <value>
            An integer value in the range <see cref="F:System.Net.IPEndPoint.MinPort"/> to <see cref="F:System.Net.IPEndPoint.MaxPort"/> 
            indicating the TCP port number from which the underlying <see cref="T:System.Net.Sockets.UdpClient"/> will communicate.
            </value>
            <remarks>
            The underlying <see cref="T:System.Net.Sockets.UdpClient"/> will bind to this port for sending messages.
            </remarks>
            <remarks>
            Setting the value to 0 (the default) will cause the udp client not to bind to
            a local port.
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">The value specified is less than <see cref="F:System.Net.IPEndPoint.MinPort"/> or greater than <see cref="F:System.Net.IPEndPoint.MaxPort"/>.</exception>
        </member>
        <member name="P:log4net.Appender.UdpAppender.Encoding">
            <summary>
            Gets or sets <see cref="P:log4net.Appender.UdpAppender.Encoding"/> used to write the packets.
            </summary>
            <value>
            The <see cref="P:log4net.Appender.UdpAppender.Encoding"/> used to write the packets.
            </value>
        </member>
        <member name="P:log4net.Appender.UdpAppender.Client">
            <summary>
            Gets or sets the underlying <see cref="T:System.Net.Sockets.UdpClient"/>.
            </summary>
            <value>
            The underlying <see cref="T:System.Net.Sockets.UdpClient"/>.
            </value>
            <remarks>
            <see cref="T:log4net.Appender.UdpAppender"/> creates a <see cref="T:System.Net.Sockets.UdpClient"/> to send logging events 
            over a network.  Classes deriving from <see cref="T:log4net.Appender.UdpAppender"/> can use this
            property to get or set this <see cref="T:System.Net.Sockets.UdpClient"/>.  Use the underlying <see cref="T:System.Net.Sockets.UdpClient"/>
            returned from <see cref="P:log4net.Appender.UdpAppender.Client"/> if you require access beyond that which 
            <see cref="T:log4net.Appender.UdpAppender"/> provides.
            </remarks>
        </member>
        <member name="P:log4net.Appender.UdpAppender.RemoteEndPoint">
            <summary>
            Gets or sets the cached remote endpoint to which the logging events should be sent.
            </summary>
            <value>
            The cached remote endpoint to which the logging events will be sent.
            </value>
            <remarks>
            The <see cref="M:log4net.Appender.UdpAppender.ActivateOptions"/> method will initialize the remote endpoint 
            with the values of the <see cref="P:log4net.Appender.UdpAppender.RemoteAddress"/> and <see cref="P:log4net.Appender.UdpAppender.RemotePort"/>
            properties.
            </remarks>
        </member>
        <member name="P:log4net.Appender.UdpAppender.RequiresLayout">
            <summary>
            This appender requires a <see cref="N:log4net.Layout"/> to be set.
            </summary>
            <value><c>true</c></value>
        </member>
        <member name="T:log4net.Config.AliasDomainAttribute">
            <summary>
            Assembly level attribute that specifies a domain to alias to this assembly's repository.
            </summary>
            <remarks>
            <para>
            An assembly's logger repository is defined by its <see cref="T:log4net.Config.DomainAttribute"/>,
            however this can be overidden by an assembly loaded before the target assembly.
            </para>
            <para>
            An assembly can alias another assembly's domain to its repository by
            specifying this attribute with the name of the target domain.
            </para>
            <para>
            This attribute can only be specified on the assembly and may be used
            as many times as nessasary to alias all the required domains.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.AliasDomainAttribute.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Config.AliasDomainAttribute"/> class with 
            the specified domain to alias to this assembly's repository.
            </summary>
            <param name="name">The domain to alias to this assemby's repository.</param>
        </member>
        <member name="P:log4net.Config.AliasDomainAttribute.Name">
            <summary>
            Gets or sets the domain to alias to this assemby's repository.
            </summary>
            <value>
            The domain to alias to this assemby's repository.
            </value>
        </member>
        <member name="T:log4net.Config.BasicConfigurator">
            <summary>
            Use this class to quickly configure a <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/>.
            </summary>
            <remarks>
            <para>
            Allows very simple programmatic configuration of log4net.
            </para>
            <para>
            Only one appender can be configured using this configurator.
            The appender is set at the root of the hierarchy and all logging
            events will be delivered to that appender.
            </para>
            <para>
            Appenders can also implement the <see cref="T:log4net.spi.IOptionHandler"/> interface. Therefore
            they would require that the <see cref="M:log4net.spi.IOptionHandler.ActivateOptions"/> method
            be called after the appenders properties have been configured.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.BasicConfigurator.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Config.BasicConfigurator"/> class. 
            </summary>
            <remarks>
            Uses a private access modifier to prevent instantiation of this class.
            </remarks>
        </member>
        <member name="M:log4net.Config.BasicConfigurator.Configure">
            <summary>
            Initializes the log4net system with a default configuration.
            </summary>
            <remarks>
            <para>
            Initializes the log4net logging system using a <see cref="T:log4net.Appender.ConsoleAppender"/>
            that will write to <c>Console.Out</c>. The log messages are
            formatted using the <see cref="T:log4net.Layout.PatternLayout"/> layout object
            with the <see cref="F:log4net.Layout.PatternLayout.TTCC_CONVERSION_PATTERN"/>
            layout style.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.BasicConfigurator.Configure(log4net.Appender.IAppender)">
            <summary>
            Initializes the log4net system using the specified appender.
            </summary>
            <param name="appender">The appender to use to log all logging events.</param>
        </member>
        <member name="M:log4net.Config.BasicConfigurator.Configure(log4net.Repository.ILoggerRepository)">
            <summary>
            Initializes the <see cref="T:log4net.Repository.ILoggerRepository"/> with a default configuration.
            </summary>
            <param name="repository">The repository to configure.</param>
            <remarks>
            <para>
            Initializes the specified repository using a <see cref="T:log4net.Appender.ConsoleAppender"/>
            that will write to <c>Console.Out</c>. The log messages are
            formatted using the <see cref="T:log4net.Layout.PatternLayout"/> layout object
            with the <see cref="F:log4net.Layout.PatternLayout.TTCC_CONVERSION_PATTERN"/>
            layout style.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.BasicConfigurator.Configure(log4net.Repository.ILoggerRepository,log4net.Appender.IAppender)">
            <summary>
            Initializes the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified appender.
            </summary>
            <param name="repository">The repository to configure.</param>
            <param name="appender">The appender to use to log all logging events.</param>
        </member>
        <member name="T:log4net.Config.ConfiguratorAttribute">
            <summary>
            Base class for all log4net configuration attributes.
            </summary>
            <remarks>
            This is an abstract class that must be extended by 
            specific configurators. This attribute allows the
            configurator to be parameterised by an assembly level
            attribute.
            </remarks>
        </member>
        <member name="M:log4net.Config.ConfiguratorAttribute.Configure(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
            <summary>
            Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly.
            </summary>
            <param name="assembly">The assembly that this attribute was defined on.</param>
            <param name="repository">The repository to configure.</param>
        </member>
        <member name="T:log4net.Config.DomainAttribute">
            <summary>
            Assembly level attribute that specifies the logging domain for the assembly.
            </summary>
            <remarks>
            <para>
            Assemblies are mapped to logging domains. Each domain has its own
            logging repository. This attribute specified on the assembly controls
            the configuration of the domain. The <see cref="P:log4net.Config.DomainAttribute.Name"/> property specifies the name
            of the domain that this assembly is a part of. The <see cref="P:log4net.Config.DomainAttribute.RepositoryType"/>
            specifies the type of the repository objects to create for the domain. If 
            this attribute is not specified and a <see cref="P:log4net.Config.DomainAttribute.Name"/> is not specified
            then the assembly will be part of the default shared logging domain.
            </para>
            <para>
            This attribute can only be specified on the assembly and may only be used
            once per assembly.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.DomainAttribute.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Config.DomainAttribute"/> class.
            </summary>
        </member>
        <member name="M:log4net.Config.DomainAttribute.#ctor(System.String)">
            <summary>
            Initialise a new instance of the <see cref="T:log4net.Config.DomainAttribute"/> class 
            with the name of the domain.
            </summary>
            <param name="name">The name of the domain.</param>
        </member>
        <member name="P:log4net.Config.DomainAttribute.Name">
            <summary>
            Gets or sets the name of the logging domain.
            </summary>
            <value>
            The string name to use as the name of the domain associated with this
            assembly.
            </value>
            <remarks>
            This value does not have to be unique. Several assemblies can share the
            same domain. They will share the logging configuration of the domain.
            </remarks>
        </member>
        <member name="P:log4net.Config.DomainAttribute.RepositoryType">
            <summary>
            Getsor sets the type of repository to create for this assembly.
            </summary>
            <value>
            The type of repository to create for this assembly.
            </value>
            <remarks>
            <para>
            The type of the repository to create for the domain.
            The type must implement the <see cref="T:log4net.Repository.ILoggerRepository"/>
            interface.
            </para>
            <para>
            This will be the type of repository created when 
            the domain is created. If multiple assemblies reference the
            same domain then the repository is only created once using the
            <see cref="P:log4net.Config.DomainAttribute.RepositoryType"/> of the first assembly to call into the 
            domain.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Config.DOMConfigurator">
            <summary>
            Use this class to initialize the log4net environment using a DOM tree.
            </summary>
            <remarks>
            Configures a <see cref="T:log4net.Repository.ILoggerRepository"/> using an XML DOM tree.
            </remarks>
        </member>
        <member name="M:log4net.Config.DOMConfigurator.#ctor">
            <summary>
            Private constructor
            </summary>
        </member>
        <member name="M:log4net.Config.DOMConfigurator.Configure">
            <summary>
            Automatically configures the log4net system based on the 
            application's configuration settings.
            </summary>
            <remarks>
            Each application has a configuration file. This has the
            same name as the application with '.config' appended.
            This file is XML and calling this function prompts the
            configurator to look in that file for a section called
            <c>log4net</c> that contains the configuration data.
            </remarks>
        </member>
        <member name="M:log4net.Config.DOMConfigurator.Configure(log4net.Repository.ILoggerRepository)">
            <summary>
            Automatically configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using settings
            stored in the application's configuration file.
            </summary>
            <remarks>
            Each application has a configuration file. This has the
            same name as the application with '.config' appended.
            This file is XML and calling this function prompts the
            configurator to look in that file for a section called
            <c>log4net</c> that contains the configuration data.
            </remarks>
            <param name="repository">The repository to configure.</param>
        </member>
        <member name="M:log4net.Config.DOMConfigurator.Configure(System.Xml.XmlElement)">
            <summary>
            Configures log4net using a <c>log4net</c> element
            </summary>
            <remarks>
            Loads the log4net configuration from the XML element
            supplied as <paramref name="element"/>.
            </remarks>
            <param name="element">The element to parse.</param>
        </member>
        <member name="M:log4net.Config.DOMConfigurator.Configure(log4net.Repository.ILoggerRepository,System.Xml.XmlElement)">
            <summary>
            Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified XML 
            element.
            </summary>
            <remarks>
            Loads the log4net configuration from the XML element
            supplied as <paramref name="element"/>.
            </remarks>
            <param name="repository">The repository to configure.</param>
            <param name="element">The element to parse.</param>
        </member>
        <member name="M:log4net.Config.DOMConfigurator.Configure(System.IO.FileInfo)">
            <summary>
            Configures log4net using the specified configuration file.
            </summary>
            <param name="configFile">The XML file to load the configuration from.</param>
            <remarks>
            <para>
            The configuration file must be valid XML. It must contain
            at least one element called <c>log4net</c> that holds
            the log4net configuration data.
            </para>
            <para>
            The log4net configuration file can possible be specified in the application's
            configuration file (either <c>MyAppName.exe.config</c> for a
            normal application on <c>Web.config</c> for an ASP.NET application).
            </para>
            <example>
            The following example configures log4net using a configuration file, of which the 
            location is stored in the application's configuration file :
            </example>
            <code lang="C#">
            using log4net.Config;
            using System.IO;
            using System.Configuration;
            
            ...
            
            DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"]));
            </code>
            <para>
            In the <c>.config</c> file, the path to the log4net can be specified like this :
            </para>
            <code>
            &lt;configuration&gt;
            	&lt;appSettings&gt;
            		&lt;add key="log4net-config-file" value="log.config"/&gt;
            	&lt;/appSettings&gt;
            &lt;/configuration&gt;
            </code>
            </remarks>
        </member>
        <member name="M:log4net.Config.DOMConfigurator.Configure(System.IO.Stream)">
            <summary>
            Configures log4net using the specified configuration file.
            </summary>
            <param name="configStream">A stream to load the XML configuration from.</param>
            <remarks>
            <para>
            The configuration data must be valid XML. It must contain
            at least one element called <c>log4net</c> that holds
            the log4net configuration data.
            </para>
            <para>
            Note that this method will NOT close the stream parameter.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.DOMConfigurator.Configure(log4net.Repository.ILoggerRepository,System.IO.FileInfo)">
            <summary>
            Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified configuration 
            file.
            </summary>
            <param name="repository">The repository to configure.</param>
            <param name="configFile">The XML file to load the configuration from.</param>
            <remarks>
            <para>
            The configuration file must be valid XML. It must contain
            at least one element called <c>log4net</c> that holds
            the configuration data.
            </para>
            <para>
            The log4net configuration file can possible be specified in the application's
            configuration file (either <c>MyAppName.exe.config</c> for a
            normal application on <c>Web.config</c> for an ASP.NET application).
            </para>
            <example>
            The following example configures log4net using a configuration file, of which the 
            location is stored in the application's configuration file :
            </example>
            <code lang="C#">
            using log4net.Config;
            using System.IO;
            using System.Configuration;
            
            ...
            
            DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"]));
            </code>
            <para>
            In the <c>.config</c> file, the path to the log4net can be specified like this :
            </para>
            <code>
            &lt;configuration&gt;
            	&lt;appSettings&gt;
            		&lt;add key="log4net-config-file" value="log.config"/&gt;
            	&lt;/appSettings&gt;
            &lt;/configuration&gt;
            </code>
            </remarks>
        </member>
        <member name="M:log4net.Config.DOMConfigurator.Configure(log4net.Repository.ILoggerRepository,System.IO.Stream)">
            <summary>
            Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified configuration 
            file.
            </summary>
            <param name="repository">The repository to configure.</param>
            <param name="configStream">The stream to load the XML configuration from.</param>
            <remarks>
            <para>
            The configuration data must be valid XML. It must contain
            at least one element called <c>log4net</c> that holds
            the configuration data.
            </para>
            <para>
            Note that this method will NOT close the stream parameter.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.DOMConfigurator.ConfigureAndWatch(System.IO.FileInfo)">
            <summary>
            Configures log4net using the file specified, monitors the file for changes 
            and reloads the configuration if a change is detected.
            </summary>
            <param name="configFile">The XML file to load the configuration from.</param>
            <remarks>
            <para>
            The configuration file must be valid XML. It must contain
            at least one element called <c>log4net</c> that holds
            the configuration data.
            </para>
            <para>
            The configuration file will be monitored using a <see cref="T:System.IO.FileSystemWatcher"/>
            and depends on the behaviour of that class.
            </para>
            <para>
            For more information on how to configure log4net using
            a separate configuration file, see <see cref="M:log4net.Config.DOMConfigurator.Configure(System.IO.FileInfo)"/>.
            </para>
            </remarks>
            <seealso cref="M:log4net.Config.DOMConfigurator.Configure(System.IO.FileInfo)"/>
        </member>
        <member name="M:log4net.Config.DOMConfigurator.ConfigureAndWatch(log4net.Repository.ILoggerRepository,System.IO.FileInfo)">
            <summary>
            Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the file specified, 
            monitors the file for changes and reloads the configuration if a change 
            is detected.
            </summary>
            <param name="repository">The repository to configure.</param>
            <param name="configFile">The XML file to load the configuration from.</param>
            <remarks>
            <para>
            The configuration file must be valid XML. It must contain
            at least one element called <c>log4net</c> that holds
            the configuration data.
            </para>
            <para>
            The configuration file will be monitored using a <see cref="T:System.IO.FileSystemWatcher"/>
            and depends on the behaviour of that class.
            </para>
            <para>
            For more information on how to configure log4net using
            a separate configuration file, see <see cref="M:log4net.Config.DOMConfigurator.Configure(System.IO.FileInfo)"/>.
            </para>
            </remarks>
            <seealso cfer="Configure(FileInfo)"/>
        </member>
        <member name="M:log4net.Config.DOMConfigurator.ConfigureFromXML(log4net.Repository.ILoggerRepository,System.Xml.XmlElement)">
            <summary>
            Configures the specified repository using a <c>log4net</c> element.
            </summary>
            <param name="repository">The hierarchy to configure.</param>
            <param name="element">The element to parse.</param>
            <remarks>
            <para>
            Loads the log4net configuration from the XML element
            supplied as <paramref name="element"/>.
            </para>
            <para>
            This method is ultimately called by one of the Configure methods 
            to load the configuration from an <see cref="T:System.Xml.XmlElement"/>.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Config.DOMConfigurator.ConfigureAndWatchHandler">
            <summary>
            Class used to watch config files.
            </summary>
            <remarks>
            Uses the <see cref="T:System.IO.FileSystemWatcher"/> to monitor
            changes to a specified file. Because multiple change notifications
            may be raised when the file is modified, a timer is used to
            compress the notifications into a single event. The timer
            waits for <see cref="F:log4net.Config.DOMConfigurator.ConfigureAndWatchHandler.TimoutMillis"/> time before delivering
            the event notification. If any further <see cref="T:System.IO.FileSystemWatcher"/>
            change notifications arrive while the timer is waiting it
            is reset and waits again for <see cref="F:log4net.Config.DOMConfigurator.ConfigureAndWatchHandler.TimoutMillis"/> to
            elaps.
            </remarks>
        </member>
        <member name="F:log4net.Config.DOMConfigurator.ConfigureAndWatchHandler.TimoutMillis">
            <summary>
            The default amount of time to wait after receiving notification
            before reloading the config file.
            </summary>
        </member>
        <member name="F:log4net.Config.DOMConfigurator.ConfigureAndWatchHandler.m_configFile">
            <summary>
            Holds the FileInfo used to configure the DOMConfigurator
            </summary>
        </member>
        <member name="F:log4net.Config.DOMConfigurator.ConfigureAndWatchHandler.m_repository">
            <summary>
            Holds the repository being configured.
            </summary>
        </member>
        <member name="F:log4net.Config.DOMConfigurator.ConfigureAndWatchHandler.m_timer">
            <summary>
            The timer used to compress the notification events.
            </summary>
        </member>
        <member name="M:log4net.Config.DOMConfigurator.ConfigureAndWatchHandler.#ctor(log4net.Repository.ILoggerRepository,System.IO.FileInfo)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Config.DOMConfigurator.ConfigureAndWatchHandler"/> class.
            </summary>
            <param name="repository">The repository to configure.</param>
            <param name="configFile">The configuration file to watch.</param>
        </member>
        <member name="M:log4net.Config.DOMConfigurator.ConfigureAndWatchHandler.ConfigureAndWatchHandler_OnChanged(System.Object,System.IO.FileSystemEventArgs)">
            <summary>
            Event handler used by <see cref="T:log4net.Config.DOMConfigurator.ConfigureAndWatchHandler"/>.
            </summary>
            <param name="source">The <see cref="T:System.IO.FileSystemWatcher"/> firing the event.</param>
            <param name="e">The argument indicates the file that caused the event to be fired.</param>
            <remarks>
            This handler reloads the configuration from the file when the event is fired.
            </remarks>
        </member>
        <member name="M:log4net.Config.DOMConfigurator.ConfigureAndWatchHandler.ConfigureAndWatchHandler_OnRenamed(System.Object,System.IO.RenamedEventArgs)">
            <summary>
            Event handler used by <see cref="T:log4net.Config.DOMConfigurator.ConfigureAndWatchHandler"/>.
            </summary>
            <param name="source">The <see cref="T:System.IO.FileSystemWatcher"/> firing the event.</param>
            <param name="e">The argument indicates the file that caused the event to be fired.</param>
            <remarks>
            This handler reloads the configuration from the file when the event is fired.
            </remarks>
        </member>
        <member name="M:log4net.Config.DOMConfigurator.ConfigureAndWatchHandler.OnWhatchedFileChange(System.Object)">
            <summary>
            Called by the timer when the configuration has been updated.
            </summary>
            <param name="state">null</param>
        </member>
        <member name="T:log4net.Config.DOMConfiguratorAttribute">
            <summary>
            Assembly level attribute to configure the <see cref="T:log4net.Config.DOMConfigurator"/>.
            </summary>
            <remarks>
            <para>
            This attribute may only be used at the assembly scope and can only
            be used once per assembly.
            </para>
            <para>
            Use this attribute to configure the <see cref="T:log4net.Config.DOMConfigurator"/>
            without calling one of the <see cref="M:log4net.Config.DOMConfigurator.Configure"/>
            methods.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Config.DOMConfiguratorAttribute.Configure(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
            <summary>
            Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly.
            </summary>
            <param name="assembly">The assembly that this attribute was defined on.</param>
            <param name="repository">The repository to configure.</param>
            <remarks>
            <para>
            Configure the repository using the <see cref="T:log4net.Config.DOMConfigurator"/>.
            The <paramref name="repository"/> specified must extend the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/>
            class otherwise the <see cref="T:log4net.Config.DOMConfigurator"/> will not be able to
            configure it.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="repository"/> does not extend <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/>.</exception>
        </member>
        <member name="P:log4net.Config.DOMConfiguratorAttribute.ConfigFile">
            <summary>
            Gets or sets the filename of the configuration file.
            </summary>
            <value>
            The filename of the configuration file.
            </value>
            <remarks>
            <para>
            If specified, this is the name of the configuration file to use with
            the <see cref="T:log4net.Config.DOMConfigurator"/>. This file path is relative to the
            <b>application base</b> directory (<see cref="P:System.AppDomain.BaseDirectory"/>).
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Config.DOMConfiguratorAttribute.ConfigFileExtension">
            <summary>
            Gets or sets the extension of the configuration file.
            </summary>
            <value>
            The extension of the configuration file.
            </value>
            <remarks>
            <para>
            If specified this is the extension for the configuration file.
            The path to the config file is built by using the <b>application 
            base</b> directory (<see cref="P:System.AppDomain.BaseDirectory"/>),
            the <b>assembly name</b> and the config file extension.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Config.DOMConfiguratorAttribute.Watch">
            <summary>
            Gets or sets a value indicating whether to watch the configuration file.
            </summary>
            <value>
            <c>true</c> if the configuration should be watched, <c>false</c> otherwise.
            </value>
            <remarks>
            <para>
            If this flag is specified and set to <c>true</c> then the framework
            will watch the configuration file and will reload the config each time 
            the file is modified.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Config.Log4NetConfigurationSectionHandler">
            <summary>
            Class to register for the log4net section of the configuration file
            </summary>
            <remarks>
            The log4net section of the configuration file needs to have a section
            handler registered. This is the section handler used. It simply returns
            the XML element that is the root of the section.
            </remarks>
            <example>
            Example of registering the log4net section handler :
            <code>
            &lt;?xml version="1.0" encoding="utf-8" ?&gt;
            &lt;configuration&gt;
            	&lt;configSections&gt;
            		&lt;section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /&gt;
            	&lt;/configSections&gt;
            	&lt;log4net&gt;
            		log4net configuration XML goes here
            	&lt;/log4net&gt;
            &lt;/configuration&gt;
            </code>
            </example>
        </member>
        <member name="M:log4net.Config.Log4NetConfigurationSectionHandler.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Config.Log4NetConfigurationSectionHandler"/> class.
            </summary>
        </member>
        <member name="M:log4net.Config.Log4NetConfigurationSectionHandler.Create(System.Object,System.Object,System.Xml.XmlNode)">
            <summary>
            Parses the configuration section.
            </summary>
            <param name="parent">The configuration settings in a corresponding parent configuration section.</param>
            <param name="configContext">The configuration context when called from the ASP.NET configuration system. Otherwise, this parameter is reserved and is a null reference.</param>
            <param name="section">The <see cref="T:System.Xml.XmlNode"/> for the log4net section.</param>
            <returns>The <see cref="T:System.Xml.XmlNode"/> for the log4net section.</returns>
        </member>
        <member name="T:log4net.Config.PluginAttribute">
            <summary>
            Assembly level attribute that specifies a plugin to attach to 
            the repository.
            </summary>
        </member>
        <member name="T:log4net.Plugin.IPluginFactory">
            <summary>
            Interface used to create plugins.
            </summary>
        </member>
        <member name="M:log4net.Plugin.IPluginFactory.CreatePlugin">
            <summary>
            Creates the plugin object.
            </summary>
        </member>
        <member name="M:log4net.Config.PluginAttribute.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Config.PluginAttribute"/> class
            with the specified type.
            </summary>
            <param name="type">The type of plugin to create.</param>
        </member>
        <member name="M:log4net.Config.PluginAttribute.CreatePlugin">
            <summary>
            Creates the plugin object defined by this attribute.
            </summary>
            <remarks>
            Creates the instance of the <see cref="T:log4net.Plugin.IPlugin"/> object as 
            specified by this attribute.
            </remarks>
            <returns>The plugin object.</returns>
        </member>
        <member name="M:log4net.Config.PluginAttribute.ToString">
            <summary>
            Returns a representation of the properties of this object.
            </summary>
            <remarks>
            Overrides base class <see cref="M:System.Object.ToString"/> method to 
            return a representation of the properties of this object.
            </remarks>
            <returns>A representation of the properties of this object</returns>
        </member>
        <member name="P:log4net.Config.PluginAttribute.Type">
            <summary>
            Gets or sets the type name for the plugin.
            </summary>
            <value>
            The type name for the plugin.
            </value>
        </member>
        <member name="T:log4net.DateFormatter.AbsoluteTimeDateFormatter">
            <summary>
            Formats a <see cref="T:System.DateTime"/> in the format "HH:mm:ss,SSS" for example, "15:49:37,459".
            </summary>
        </member>
        <member name="T:log4net.DateFormatter.IDateFormatter">
            <summary>
            Interface to abstract the rendering of a <see cref="T:System.DateTime"/>
            instance into a string.
            </summary>
        </member>
        <member name="M:log4net.DateFormatter.IDateFormatter.FormatDate(System.DateTime,System.Text.StringBuilder)">
            <summary>
            Formats the specified date as a string.
            </summary>
            <param name="dateToFormat">The date to format.</param>
            <param name="buffer">The string builder to write to.</param>
            <returns>The string builder passed.</returns>
        </member>
        <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.ABS_TIME_DATE_FORMAT">
            <summary>
            String constant used to specify AbsoluteTimeDateFormat in layouts. Current value is <b>ABSOLUTE</b>.
            </summary>
        </member>
        <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.DATE_AND_TIME_DATE_FORMAT">
            <summary>
            String constant used to specify DateTimeDateFormat in layouts.  Current value is <b>DATE</b>.
            </summary>
        </member>
        <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.ISO8601_DATE_FORMAT">
            <summary>
            String constant used to specify ISO8601DateFormat in layouts. Current value is <b>ISO8601</b>.
            </summary>
        </member>
        <member name="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)">
            <summary>
            Renders the date into a string. Format is "HH:mm:ss".
            </summary>
            <remarks>
            Sub classes should override this method to render the date
            into a string using a precision up to the second. This method
            will be called at most once per second and the result will be
            reused if it is needed again during the same second.
            </remarks>
            <param name="dateToFormat">The date to render into a string.</param>
            <param name="buffer">The string builder to write to.</param>
        </member>
        <member name="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDate(System.DateTime,System.Text.StringBuilder)">
            <summary>
            Renders the date into a string. Format is "HH:mm:ss,SSS".
            </summary>
            <remarks>
            <para>Uses the FormatDateWithoutMillis() method to generate the
            time string up to the seconds and then appends the current
            milliseconds. The results from FormatDateWithoutMillis() are
            cached and FormatDateWithoutMillis() is called at most once
            per second.</para>
            <para>Sub classes should override FormatDateWithoutMillis()
            rather than FormatDate().</para>
            </remarks>
            <param name="dateToFormat">The date to render into a string.</param>
            <param name="buffer">The stringbuilder to write to.</param>
            <returns>The stringbuilder passed.</returns>
        </member>
        <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.s_lastTimeToTheSecond">
            <summary>
            Last stored time with precision up to the second.
            </summary>
        </member>
        <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.s_lastTime">
            <summary>
            Last stored time with precision up to the second, formatted
            as a string.
            </summary>
        </member>
        <member name="T:log4net.DateFormatter.DateTimeDateFormatter">
            <summary>
            Formats a <see cref="T:System.DateTime"/> in the format "dd MMM YYYY HH:mm:ss,SSS" for example, "06 Nov 1994 15:49:37,459".
            </summary>
        </member>
        <member name="M:log4net.DateFormatter.DateTimeDateFormatter.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.DateFormatter.DateTimeDateFormatter"/> class.
            </summary>
        </member>
        <member name="M:log4net.DateFormatter.DateTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)">
            <summary>
            Formats the date as: "dd MMM YYYY HH:mm:ss"
            the base class will append the ',SSS' milliseconds section.
            We will only be called at most once per second.
            </summary>
            <remarks>
            Formats a DateTime in the format "dd MMM YYYY HH:mm:ss" for example, "06 Nov 1994 15:49:37".
            </remarks>
            <param name="dateToFormat">The date to format.</param>
            <param name="buffer">The string builder to write to.</param>
        </member>
        <member name="F:log4net.DateFormatter.DateTimeDateFormatter.m_dateTimeFormatInfo">
            <summary>
            The format info for the invariant culture.
            </summary>
        </member>
        <member name="T:log4net.DateFormatter.ISO8601DateFormatter">
            <summary>
            Formats the <see cref="T:System.DateTime"/> specified as a string: 'YYYY-MM-dd HH:mm:ss,SSS'.
            </summary>
        </member>
        <member name="M:log4net.DateFormatter.ISO8601DateFormatter.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.DateFormatter.ISO8601DateFormatter"/> class.
            </summary>
        </member>
        <member name="M:log4net.DateFormatter.ISO8601DateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)">
            <summary>
            Formats the date specified as a string: 'YYYY-MM-dd HH:mm:ss'
            the base class will append the ',SSS' milliseconds section.
            We will only be called at most once per second.
            </summary>
            <param name="dateToFormat">The date to format.</param>
            <param name="buffer">The string builder to write to.</param>
        </member>
        <member name="T:log4net.DateFormatter.SimpleDateFormatter">
            <summary>
            Formats the <see cref="T:System.DateTime"/> using the <see cref="M:System.DateTime.ToString"/> method.
            </summary>
        </member>
        <member name="M:log4net.DateFormatter.SimpleDateFormatter.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.DateFormatter.SimpleDateFormatter"/> class 
            with the specified format string.
            </summary>
            <remarks>
            The format string must be compatible with the options
            that can be supplied to <see cref="M:System.DateTime.ToString"/>.
            </remarks>
            <param name="format">The format string.</param>
        </member>
        <member name="M:log4net.DateFormatter.SimpleDateFormatter.FormatDate(System.DateTime,System.Text.StringBuilder)">
            <summary>
            Formats the date using <see cref="M:System.DateTime.ToString"/>.
            </summary>
            <param name="dateToFormat">The date to convert to a string.</param>
            <param name="buffer">The stringbuilder to write to.</param>
            <returns>The stringbuilder passed.</returns>
        </member>
        <member name="F:log4net.DateFormatter.SimpleDateFormatter.m_formatString">
            <summary>
            The format string used to format the <see cref="T:System.DateTime"/>.
            </summary>
            <remarks>
            The format string must be compatible with the options
            that can be supplied to <see cref="M:System.DateTime.ToString"/>.
            </remarks>
        </member>
        <member name="T:log4net.Filter.DenyAllFilter">
            <summary>
            This filter drops all <see cref="T:log4net.spi.LoggingEvent"/>. 
            </summary>
            <remarks>
            You can add this filter to the end of a filter chain to
            switch from the default "accept all unless instructed otherwise"
            filtering behaviour to a "deny all unless instructed otherwise"
            behaviour.	
            </remarks>
        </member>
        <member name="T:log4net.Filter.FilterSkeleton">
            <summary>
            Users should extend this class to implement customised logging
            event filtering. 
            </summary>
            <remarks>
            <para>Users should extend this class to implement customized logging
            event filtering. Note that <see cref="T:log4net.Repository.Hierarchy.Logger"/> and 
            <see cref="T:log4net.Appender.AppenderSkeleton"/>, the parent class of all standard
            appenders, have built-in filtering rules. It is suggested that you
            first use and understand the built-in rules before rushing to write
            your own custom filters.</para>
            
            <para>This abstract class assumes and also imposes that filters be
            organized in a linear chain. The <see cref="M:log4net.Filter.FilterSkeleton.Decide(log4net.spi.LoggingEvent)"/>
            method of each filter is called sequentially, in the order of their 
            addition to the chain.</para>
            
            <para>The <see cref="M:log4net.Filter.FilterSkeleton.Decide(log4net.spi.LoggingEvent)"/> method must return one
            of the integer constants <see cref="F:log4net.Filter.FilterDecision.DENY"/>, <see cref="F:log4net.Filter.FilterDecision.NEUTRAL"/> or <see cref="F:log4net.Filter.FilterDecision.ACCEPT"/>.</para>
            
            <para>If the value <see cref="F:log4net.Filter.FilterDecision.DENY"/> is returned, then the log event is dropped 
            immediately without consulting with the remaining filters. </para>
            
            <para>If the value <see cref="F:log4net.Filter.FilterDecision.NEUTRAL"/> is returned, then the next filter
            in the chain is consulted. If there are no more filters in the
            chain, then the log event is logged. Thus, in the presence of no
            filters, the default behaviour is to log all logging events.</para>
            
            <para>If the value <see cref="F:log4net.Filter.FilterDecision.ACCEPT"/> is returned, then the log
            event is logged without consulting the remaining filters. </para>
            
            <para>The philosophy of log4net filters is largely inspired from the
            Linux ipchains. </para>
            </remarks>
        </member>
        <member name="T:log4net.Filter.IFilter">
            <summary>
            Users should implement this interface to implement customised logging
            event filtering.
            </summary>
            <remarks>
            <para>Users should implement this interface to implement customized logging
            event filtering. Note that <see cref="T:log4net.Repository.Hierarchy.Logger"/> and 
            <see cref="T:log4net.Appender.AppenderSkeleton"/>, the parent class of all standard
            appenders, have built-in filtering rules. It is suggested that you
            first use and understand the built-in rules before rushing to write
            your own custom filters.</para>
            
            <para>This abstract class assumes and also imposes that filters be
            organized in a linear chain. The <see cref="M:log4net.Filter.IFilter.Decide(log4net.spi.LoggingEvent)"/>
            method of each filter is called sequentially, in the order of their 
            addition to the chain.</para>
            
            <para>The <see cref="M:log4net.Filter.IFilter.Decide(log4net.spi.LoggingEvent)"/> method must return one
            of the integer constants <see cref="F:log4net.Filter.FilterDecision.DENY"/>, 
            <see cref="F:log4net.Filter.FilterDecision.NEUTRAL"/> or <see cref="F:log4net.Filter.FilterDecision.ACCEPT"/>.</para>
            
            <para>If the value <see cref="F:log4net.Filter.FilterDecision.DENY"/> is returned, then the log event is dropped 
            immediately without consulting with the remaining filters. </para>
            
            <para>If the value <see cref="F:log4net.Filter.FilterDecision.NEUTRAL"/> is returned, then the next filter
            in the chain is consulted. If there are no more filters in the
            chain, then the log event is logged. Thus, in the presence of no
            filters, the default behaviour is to log all logging events.</para>
            
            <para>If the value <see cref="F:log4net.Filter.FilterDecision.ACCEPT"/> is returned, then the log
            event is logged without consulting the remaining filters. </para>
            
            <para>The philosophy of log4net filters is largely inspired from the
            Linux ipchains.</para>
            </remarks>
        </member>
        <member name="M:log4net.Filter.IFilter.Decide(log4net.spi.LoggingEvent)">
            <summary>
            Decide if the logging event should be logged through an appender.
            </summary>
            <param name="loggingEvent">The LoggingEvent to decide upon</param>
            <returns>The decision of the filter</returns>
            <remarks>
            <para>If the decision is <see cref="F:log4net.Filter.FilterDecision.DENY"/>, then the event will be
            dropped. If the decision is <see cref="F:log4net.Filter.FilterDecision.NEUTRAL"/>, then the next
            filter, if any, will be invoked. If the decision is <see cref="F:log4net.Filter.FilterDecision.ACCEPT"/> then
            the event will be logged without consulting with other filters in
            the chain.</para>
            </remarks>
        </member>
        <member name="P:log4net.Filter.IFilter.Next">
            <summary>
            Property to get and set the next filter in the filter
            chain of responsibility.
            </summary>
            <value>
            The next filter in the chain
            </value>
            <remarks>
            Filters are typically composed into chains. This property allows the next filter in 
            the chain to be accessed.
            </remarks>
        </member>
        <member name="F:log4net.Filter.FilterSkeleton.m_next">
            <summary>
            Points to the next filter in the filter chain.
            </summary>
            <remarks>
            See <see cref="P:log4net.Filter.FilterSkeleton.Next"/> for more information.
            </remarks>
        </member>
        <member name="M:log4net.Filter.FilterSkeleton.ActivateOptions">
            <summary>
            Usually filters options become active when set. 
            We provide a default do-nothing implementation for convenience.
            </summary>
        </member>
        <member name="M:log4net.Filter.FilterSkeleton.Decide(log4net.spi.LoggingEvent)">
            <summary>
            Decide if the <see cref="T:log4net.spi.LoggingEvent"/> should be logged through an appender.
            </summary>
            <param name="loggingEvent">The <see cref="T:log4net.spi.LoggingEvent"/> to decide upon</param>
            <returns>The decision of the filter</returns>
            <remarks>
            <para>If the decision is <see cref="F:log4net.Filter.FilterDecision.DENY"/>, then the event will be
            dropped. If the decision is <see cref="F:log4net.Filter.FilterDecision.NEUTRAL"/>, then the next
            filter, if any, will be invoked. If the decision is <see cref="F:log4net.Filter.FilterDecision.ACCEPT"/> then
            the event will be logged without consulting with other filters in
            the chain.</para>
            
            <para>This method is marked <c>abstract</c> and must be implemented
            in a subclass.</para>
            </remarks>
        </member>
        <member name="P:log4net.Filter.FilterSkeleton.Next">
            <summary>
            Property to get and set the next filter in the filter
            chain of responsibility.
            </summary>
            <value>
            The next filter in the chain
            </value>
            <remarks>
            Filters are typically composed into chains. This property allows the next filter in 
            the chain to be accessed.
            </remarks>
        </member>
        <member name="M:log4net.Filter.DenyAllFilter.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:log4net.Filter.DenyAllFilter.Decide(log4net.spi.LoggingEvent)">
            <summary>
            Always returns the integer constant <see cref="F:log4net.Filter.FilterDecision.DENY"/>
            </summary>
            <remarks>
            Ignores the event being logged and just returns
            <see cref="F:log4net.Filter.FilterDecision.DENY"/>. This can be used to change the default filter
            chain behaviour from <see cref="F:log4net.Filter.FilterDecision.ACCEPT"/> to <see cref="F:log4net.Filter.FilterDecision.DENY"/>. This filter
            should only be used as the last filter in the chain
            as any further filters will be ignored!
            </remarks>
            <param name="loggingEvent">the LoggingEvent to filter</param>
            <returns>Always returns <see cref="F:log4net.Filter.FilterDecision.DENY"/></returns>
        </member>
        <member name="T:log4net.Filter.FilterDecision">
            <summary>
            The return result from <see cref="M:log4net.Filter.IFilter.Decide(log4net.spi.LoggingEvent)"/>
            </summary>
            <remarks>
            The return result from <see cref="M:log4net.Filter.IFilter.Decide(log4net.spi.LoggingEvent)"/>
            </remarks>
        </member>
        <member name="F:log4net.Filter.FilterDecision.DENY">
            <summary>
            The log event must be dropped immediately without 
            consulting with the remaining filters, if any, in the chain.
            </summary>
        </member>
        <member name="F:log4net.Filter.FilterDecision.NEUTRAL">
            <summary>
            This filter is neutral with respect to the log event. 
            The remaining filters, if any, should be consulted for a final decision.
            </summary>
        </member>
        <member name="F:log4net.Filter.FilterDecision.ACCEPT">
            <summary>
            The log event must be logged immediately without 
            consulting with the remaining filters, if any, in the chain.
            </summary>
        </member>
        <member name="T:log4net.Filter.LevelMatchFilter">
            <summary>
            This is a very simple filter based on <see cref="T:log4net.spi.Level"/> matching.
            </summary>
            <remarks>
            <para>The filter admits two options <see cref="P:log4net.Filter.LevelMatchFilter.LevelToMatch"/> and
            <see cref="P:log4net.Filter.LevelMatchFilter.AcceptOnMatch"/>. If there is an exact match between the value
            of the <see cref="P:log4net.Filter.LevelMatchFilter.LevelToMatch"/> option and the <see cref="T:log4net.spi.Level"/> of the 
            <see cref="T:log4net.spi.LoggingEvent"/>, then the <see cref="M:log4net.Filter.LevelMatchFilter.Decide(log4net.spi.LoggingEvent)"/> method returns <see cref="F:log4net.Filter.FilterDecision.ACCEPT"/> in 
            case the <see cref="P:log4net.Filter.LevelMatchFilter.AcceptOnMatch"/> option value is set
            to <c>true</c>, if it is <c>false</c> then 
            <see cref="F:log4net.Filter.FilterDecision.DENY"/> is returned.</para>
            </remarks>
        </member>
        <member name="F:log4net.Filter.LevelMatchFilter.m_acceptOnMatch">
            <summary>
            flag to indicate if the filter should <see cref="F:log4net.Filter.FilterDecision.ACCEPT"/> on a match
            </summary>
        </member>
        <member name="F:log4net.Filter.LevelMatchFilter.m_levelToMatch">
            <summary>
            the <see cref="T:log4net.spi.Level"/> to match against
            </summary>
        </member>
        <member name="M:log4net.Filter.LevelMatchFilter.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:log4net.Filter.LevelMatchFilter.Decide(log4net.spi.LoggingEvent)">
            <summary>
            Tests if the <see cref="T:log4net.spi.Level"/> of the logging event matches that of the filter
            </summary>
            <remarks>
            If the <see cref="T:log4net.spi.Level"/> of the event matches the level of the
            filter then the result of the function depends on the
            value of <see cref="P:log4net.Filter.LevelMatchFilter.AcceptOnMatch"/>. If it is true then
            the function will return <see cref="F:log4net.Filter.FilterDecision.ACCEPT"/>, it it is false then it
            will return <see cref="F:log4net.Filter.FilterDecision.DENY"/>. If the <see cref="T:log4net.spi.Level"/> does not match then
            the result will be the opposite of when it does match.
            </remarks>
            <param name="loggingEvent">the event to filter</param>
            <returns>see remarks</returns>
        </member>
        <member name="P:log4net.Filter.LevelMatchFilter.AcceptOnMatch">
            <summary>
            The <see cref="P:log4net.Filter.LevelMatchFilter.AcceptOnMatch"/> property is a flag that determines
            the behaviour when a matching <see cref="T:log4net.spi.Level"/> is found. If the
            flag is set to true then the filter will <see cref="F:log4net.Filter.FilterDecision.ACCEPT"/> the 
            logging event, otherwise it will <see cref="F:log4net.Filter.FilterDecision.DENY"/> the event.
            </summary>
        </member>
        <member name="P:log4net.Filter.LevelMatchFilter.LevelToMatch">
            <summary>
            The <see cref="T:log4net.spi.Level"/> that the filter will match
            </summary>
        </member>
        <member name="T:log4net.Filter.LevelRangeFilter">
            <summary>
            This is a simple filter based on <see cref="T:log4net.spi.Level"/> matching.
            </summary>
            <remarks>
            <para>The filter admits three options <see cref="P:log4net.Filter.LevelRangeFilter.LevelMin"/> and <see cref="P:log4net.Filter.LevelRangeFilter.LevelMax"/>
            that determine the range of priorities that are matched, and
            <see cref="P:log4net.Filter.LevelRangeFilter.AcceptOnMatch"/>. If there is a match between the range
            of priorities and the <see cref="T:log4net.spi.Level"/> of the <see cref="T:log4net.spi.LoggingEvent"/>, then the 
            <see cref="M:log4net.Filter.LevelRangeFilter.Decide(log4net.spi.LoggingEvent)"/> method returns <see cref="F:log4net.Filter.FilterDecision.ACCEPT"/> in case the <see cref="P:log4net.Filter.LevelRangeFilter.AcceptOnMatch"/> 
            option value is set to <c>true</c>, if it is <c>false</c>
            then <see cref="F:log4net.Filter.FilterDecision.DENY"/> is returned. If there is no match, <see cref="F:log4net.Filter.FilterDecision.DENY"/> is returned.</para>
            </remarks>
        </member>
        <member name="F:log4net.Filter.LevelRangeFilter.m_acceptOnMatch">
            <summary>
            Flag to indicate the behaviour when matching a <see cref="T:log4net.spi.Level"/>
            </summary>
        </member>
        <member name="F:log4net.Filter.LevelRangeFilter.m_levelMin">
            <summary>
            the minimum <see cref="T:log4net.spi.Level"/> value to match
            </summary>
        </member>
        <member name="F:log4net.Filter.LevelRangeFilter.m_levelMax">
            <summary>
            the maximum <see cref="T:log4net.spi.Level"/> value to match
            </summary>
        </member>
        <member name="M:log4net.Filter.LevelRangeFilter.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:log4net.Filter.LevelRangeFilter.Decide(log4net.spi.LoggingEvent)">
            <summary>
            Check if the event should be logged.
            </summary>
            <remarks>
            If the <see cref="T:log4net.spi.Level"/> of the logging event is outside the range
            matched by this filter then <see cref="F:log4net.Filter.FilterDecision.DENY"/>
            is returned. If the <see cref="T:log4net.spi.Level"/> is matched then the value of
            <see cref="P:log4net.Filter.LevelRangeFilter.AcceptOnMatch"/> is checked. If it is true then
            <see cref="F:log4net.Filter.FilterDecision.ACCEPT"/> is returned, otherwise
            <see cref="F:log4net.Filter.FilterDecision.NEUTRAL"/> is returned.
            </remarks>
            <param name="loggingEvent">the logging event to check</param>
            <returns>see remarks</returns>
        </member>
        <member name="P:log4net.Filter.LevelRangeFilter.AcceptOnMatch">
            <summary>
            The <see cref="P:log4net.Filter.LevelRangeFilter.AcceptOnMatch"/> property is a flag that determines
            the behaviour when a matching <see cref="T:log4net.spi.Level"/> is found. If the
            flag is set to true then the filter will <see cref="F:log4net.Filter.FilterDecision.ACCEPT"/> the 
            logging event, otherwise it will <see cref="F:log4net.Filter.FilterDecision.NEUTRAL"/> the event.
            </summary>
        </member>
        <member name="P:log4net.Filter.LevelRangeFilter.LevelMin">
            <summary>
            Set the minimum matched <see cref="T:log4net.spi.Level"/>
            </summary>
        </member>
        <member name="P:log4net.Filter.LevelRangeFilter.LevelMax">
            <summary>
            Sets the maximum matched <see cref="T:log4net.spi.Level"/>
            </summary>
        </member>
        <member name="T:log4net.Filter.MDCFilter">
            <summary>
            Simple filter to match a string in the <see cref="T:log4net.MDC"/>
            </summary>
            <remarks>
            Simple filter to match a string in the <see cref="T:log4net.MDC"/>
            </remarks>
        </member>
        <member name="F:log4net.Filter.MDCFilter.m_acceptOnMatch">
            <summary>
            Flag to indicate the behaviour when we have a match
            </summary>
        </member>
        <member name="F:log4net.Filter.MDCFilter.m_stringToMatch">
            <summary>
            The string to substring match against the message
            </summary>
        </member>
        <member name="F:log4net.Filter.MDCFilter.m_stringRegexToMatch">
            <summary>
            A string regex to match
            </summary>
        </member>
        <member name="F:log4net.Filter.MDCFilter.m_regexToMatch">
            <summary>
            A regex object to match (generated from m_stringRegexToMatch)
            </summary>
        </member>
        <member name="F:log4net.Filter.MDCFilter.m_key">
            <summary>
            The key to use to lookup the string
            from the MDC
            </summary>
        </member>
        <member name="M:log4net.Filter.MDCFilter.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:log4net.Filter.MDCFilter.ActivateOptions">
            <summary>
            Initialise and precompile the Regex if required
            </summary>
        </member>
        <member name="M:log4net.Filter.MDCFilter.Decide(log4net.spi.LoggingEvent)">
            <summary>
            Check if this filter should allow the event to be logged
            </summary>
            <remarks>
            The <see cref="T:log4net.MDC"/> is matched against the <see cref="P:log4net.Filter.MDCFilter.StringToMatch"/>.
            If the <see cref="P:log4net.Filter.MDCFilter.StringToMatch"/> occurs as a substring within
            the message then a match will have occurred. If no match occurs
            this function will return <see cref="F:log4net.Filter.FilterDecision.NEUTRAL"/>
            allowing other filters to check the event. If a match occurs then
            the value of <see cref="P:log4net.Filter.MDCFilter.AcceptOnMatch"/> is checked. If it is
            true then <see cref="F:log4net.Filter.FilterDecision.ACCEPT"/> is returned otherwise
            <see cref="F:log4net.Filter.FilterDecision.DENY"/> is returned.
            </remarks>
            <param name="loggingEvent">the event being logged</param>
            <returns>see remarks</returns>
        </member>
        <member name="P:log4net.Filter.MDCFilter.AcceptOnMatch">
            <summary>
            The <see cref="P:log4net.Filter.MDCFilter.AcceptOnMatch"/> property is a flag that determines
            the behaviour when a matching <see cref="T:log4net.spi.Level"/> is found. If the
            flag is set to true then the filter will <see cref="F:log4net.Filter.FilterDecision.ACCEPT"/> the 
            logging event, otherwise it will <see cref="F:log4net.Filter.FilterDecision.DENY"/> the event.
            </summary>
        </member>
        <member name="P:log4net.Filter.MDCFilter.StringToMatch">
            <summary>
            The string that will be substring matched against
            the rendered message. If the message contains this
            string then the filter will match.
            </summary>
        </member>
        <member name="P:log4net.Filter.MDCFilter.RegexToMatch">
            <summary>
            The regular expression pattern that will be matched against
            the rendered message. If the message matches this
            pattern then the filter will match.
            </summary>
        </member>
        <member name="P:log4net.Filter.MDCFilter.Key">
            <summary>
            The key to lookup in the <see cref="T:log4net.MDC"/> and then
            match against.
            </summary>
        </member>
        <member name="T:log4net.Filter.NDCFilter">
            <summary>
            Simple filter to match a string in the <see cref="T:log4net.NDC"/>
            </summary>
            <remarks>
            Simple filter to match a string in the <see cref="T:log4net.NDC"/>
            </remarks>
        </member>
        <member name="F:log4net.Filter.NDCFilter.m_acceptOnMatch">
            <summary>
            Flag to indicate the behaviour when we have a match
            </summary>
        </member>
        <member name="F:log4net.Filter.NDCFilter.m_stringToMatch">
            <summary>
            The string to substring match against the message
            </summary>
        </member>
        <member name="F:log4net.Filter.NDCFilter.m_stringRegexToMatch">
            <summary>
            A string regex to match
            </summary>
        </member>
        <member name="F:log4net.Filter.NDCFilter.m_regexToMatch">
            <summary>
            A regex object to match (generated from m_stringRegexToMatch)
            </summary>
        </member>
        <member name="M:log4net.Filter.NDCFilter.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:log4net.Filter.NDCFilter.ActivateOptions">
            <summary>
            Initialise and precompile the Regex if required
            </summary>
        </member>
        <member name="M:log4net.Filter.NDCFilter.Decide(log4net.spi.LoggingEvent)">
            <summary>
            Check if this filter should allow the event to be logged
            </summary>
            <remarks>
            The <see cref="T:log4net.NDC"/> is matched against the <see cref="P:log4net.Filter.NDCFilter.StringToMatch"/>.
            If the <see cref="P:log4net.Filter.NDCFilter.StringToMatch"/> occurs as a substring within
            the message then a match will have occurred. If no match occurs
            this function will return <see cref="F:log4net.Filter.FilterDecision.NEUTRAL"/>
            allowing other filters to check the event. If a match occurs then
            the value of <see cref="P:log4net.Filter.NDCFilter.AcceptOnMatch"/> is checked. If it is
            true then <see cref="F:log4net.Filter.FilterDecision.ACCEPT"/> is returned otherwise
            <see cref="F:log4net.Filter.FilterDecision.DENY"/> is returned.
            </remarks>
            <param name="loggingEvent">the event being logged</param>
            <returns>see remarks</returns>
        </member>
        <member name="P:log4net.Filter.NDCFilter.AcceptOnMatch">
            <summary>
            The <see cref="P:log4net.Filter.NDCFilter.AcceptOnMatch"/> property is a flag that determines
            the behaviour when a matching <see cref="T:log4net.spi.Level"/> is found. If the
            flag is set to true then the filter will <see cref="F:log4net.Filter.FilterDecision.ACCEPT"/> the 
            logging event, otherwise it will <see cref="F:log4net.Filter.FilterDecision.DENY"/> the event.
            </summary>
        </member>
        <member name="P:log4net.Filter.NDCFilter.StringToMatch">
            <summary>
            The string that will be substring matched against
            the rendered message. If the message contains this
            string then the filter will match.
            </summary>
        </member>
        <member name="P:log4net.Filter.NDCFilter.RegexToMatch">
            <summary>
            The regular expression pattern that will be matched against
            the rendered message. If the message matches this
            pattern then the filter will match.
            </summary>
        </member>
        <member name="T:log4net.Filter.StringMatchFilter">
            <summary>
            Simple filter to match a string in the rendered message
            </summary>
            <remarks>
            Simple filter to match a string in the rendered message
            </remarks>
        </member>
        <member name="F:log4net.Filter.StringMatchFilter.m_acceptOnMatch">
            <summary>
            Flag to indicate the behaviour when we have a match
            </summary>
        </member>
        <member name="F:log4net.Filter.StringMatchFilter.m_stringToMatch">
            <summary>
            The string to substring match against the message
            </summary>
        </member>
        <member name="F:log4net.Filter.StringMatchFilter.m_stringRegexToMatch">
            <summary>
            A string regex to match
            </summary>
        </member>
        <member name="F:log4net.Filter.StringMatchFilter.m_regexToMatch">
            <summary>
            A regex object to match (generated from m_stringRegexToMatch)
            </summary>
        </member>
        <member name="M:log4net.Filter.StringMatchFilter.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:log4net.Filter.StringMatchFilter.ActivateOptions">
            <summary>
            Initialise and precompile the Regex if required
            </summary>
        </member>
        <member name="M:log4net.Filter.StringMatchFilter.Decide(log4net.spi.LoggingEvent)">
            <summary>
            Check if this filter should allow the event to be logged
            </summary>
            <remarks>
            The rendered message is matched against the <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/>.
            If the <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/> occurs as a substring within
            the message then a match will have occurred. If no match occurs
            this function will return <see cref="F:log4net.Filter.FilterDecision.NEUTRAL"/>
            allowing other filters to check the event. If a match occurs then
            the value of <see cref="P:log4net.Filter.StringMatchFilter.AcceptOnMatch"/> is checked. If it is
            true then <see cref="F:log4net.Filter.FilterDecision.ACCEPT"/> is returned otherwise
            <see cref="F:log4net.Filter.FilterDecision.DENY"/> is returned.
            </remarks>
            <param name="loggingEvent">the event being logged</param>
            <returns>see remarks</returns>
        </member>
        <member name="P:log4net.Filter.StringMatchFilter.AcceptOnMatch">
            <summary>
            The <see cref="P:log4net.Filter.StringMatchFilter.AcceptOnMatch"/> property is a flag that determines
            the behaviour when a matching <see cref="T:log4net.spi.Level"/> is found. If the
            flag is set to true then the filter will <see cref="F:log4net.Filter.FilterDecision.ACCEPT"/> the 
            logging event, otherwise it will <see cref="F:log4net.Filter.FilterDecision.DENY"/> the event.
            </summary>
        </member>
        <member name="P:log4net.Filter.StringMatchFilter.StringToMatch">
            <summary>
            The string that will be substring matched against
            the rendered message. If the message contains this
            string then the filter will match.
            </summary>
        </member>
        <member name="P:log4net.Filter.StringMatchFilter.RegexToMatch">
            <summary>
            The regular expression pattern that will be matched against
            the rendered message. If the message matches this
            pattern then the filter will match.
            </summary>
        </member>
        <member name="T:log4net.helpers.TypeConverters.BooleanConverter">
            <summary>
            Type converter for Boolean.
            </summary>
            <remarks>
            Supportes conversion from string to boolean type.
            </remarks>
        </member>
        <member name="T:log4net.helpers.TypeConverters.IConvertFrom">
            <summary>
            Interface supported by type converters
            </summary>
            <remarks>
            This interface supports conversion from arbitary types
            to a single target type. See <see cref="T:log4net.helpers.TypeConverters.TypeConverterAttribute"/>.
            </remarks>
        </member>
        <member name="M:log4net.helpers.TypeConverters.IConvertFrom.CanConvertFrom(System.Type)">
            <summary>
            Can the source type be converted to the type supported by this object
            </summary>
            <param name="sourceType">the type to convert</param>
            <returns>true if the conversion is possible</returns>
        </member>
        <member name="M:log4net.helpers.TypeConverters.IConvertFrom.ConvertFrom(System.Object)">
            <summary>
            Convert the source object to the type supported by this object
            </summary>
            <param name="source">the object to convert</param>
            <returns>the converted object</returns>
        </member>
        <member name="M:log4net.helpers.TypeConverters.BooleanConverter.CanConvertFrom(System.Type)">
            <summary>
            Can the source type be converted to the type supported by this object
            </summary>
            <param name="sourceType">the type to convert</param>
            <returns>true if the conversion is possible</returns>
        </member>
        <member name="M:log4net.helpers.TypeConverters.BooleanConverter.ConvertFrom(System.Object)">
            <summary>
            Convert the source object to the type supported by this object
            </summary>
            <param name="source">the object to convert</param>
            <returns>the converted object</returns>
        </member>
        <member name="T:log4net.helpers.TypeConverters.ConversionNotSupportedException">
            <summary>
            Exception base type for conversion errors.
            </summary>
            <remarks>
            <para>
            This type extends <see cref="T:System.ApplicationException"/>. It
            does not add any new functionality but does differentiate the
            type of exception being thrown.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.helpers.TypeConverters.ConversionNotSupportedException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.helpers.TypeConverters.ConversionNotSupportedException"/> class.
            </summary>
        </member>
        <member name="M:log4net.helpers.TypeConverters.ConversionNotSupportedException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.helpers.TypeConverters.ConversionNotSupportedException"/> class
            with the specified message.
            </summary>
            <param name="message">A message to include with the exception.</param>
        </member>
        <member name="M:log4net.helpers.TypeConverters.ConversionNotSupportedException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.helpers.TypeConverters.ConversionNotSupportedException"/> class
            with the specified message and inner exception.
            </summary>
            <param name="message">A message to include with the exception.</param>
            <param name="innerException">A nested exception to include.</param>
        </member>
        <member name="M:log4net.helpers.TypeConverters.ConversionNotSupportedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.helpers.TypeConverters.ConversionNotSupportedException"/> class 
            with serialized data.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
        </member>
        <member name="M:log4net.helpers.TypeConverters.ConversionNotSupportedException.Create(System.Type,System.Object)">
            <summary>
            Creates a new instance of the <see cref="T:log4net.helpers.TypeConverters.ConversionNotSupportedException"/> class.
            </summary>
            <param name="destinationType">The conversion destination type.</param>
            <param name="sourceValue">The value to convert.</param>
            <returns>An instance of the <see cref="T:log4net.helpers.TypeConverters.ConversionNotSupportedException"/>.</returns>
        </member>
        <member name="T:log4net.helpers.TypeConverters.ConverterRegistry">
            <summary>
            Register of type converters for specific types.
            </summary>
        </member>
        <member name="M:log4net.helpers.TypeConverters.ConverterRegistry.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.helpers.TypeConverters.ConverterRegistry"/> class.
            </summary>
        </member>
        <member name="M:log4net.helpers.TypeConverters.ConverterRegistry.#cctor">
            <summary>
            Static constructor.
            </summary>
            <remarks>
            This constructor defines the intrinsic type converters
            </remarks>
        </member>
        <member name="M:log4net.helpers.TypeConverters.ConverterRegistry.AddConverter(System.Type,log4net.helpers.TypeConverters.IConvertFrom)">
            <summary>
            Adds a converter for a specific type.
            </summary>
            <param name="destinationType">The type being converted to.</param>
            <param name="converter">The type converter to use to convert to the destination type.</param>
        </member>
        <member name="M:log4net.helpers.TypeConverters.ConverterRegistry.AddConverter(System.Type,System.Type)">
            <summary>
            Adds a converter for a specific type.
            </summary>
            <param name="destinationType">The type being converted to.</param>
            <param name="converterType">The type of the type converter to use to convert to the destination type.</param>
        </member>
        <member name="M:log4net.helpers.TypeConverters.ConverterRegistry.GetConverter(System.Type)">
            <summary>
            Gets the type converter to use to convert values to the destination type.
            </summary>
            <param name="destinationType">The type being converted to.</param>
            <returns>
            The type converter instance to use for type conversions or <c>null</c> 
            if no type converter is found.
            </returns>
        </member>
        <member name="M:log4net.helpers.TypeConverters.ConverterRegistry.GetConverterFromAttribute(System.Type)">
            <summary>
            Lookups the type converter to use as specified by the attributes on the 
            destination type.
            </summary>
            <param name="destinationType">The type being converted to.</param>
            <returns>
            The type converter instance to use for type conversions or <c>null</c> 
            if no type converter is found.
            </returns>
        </member>
        <member name="M:log4net.helpers.TypeConverters.ConverterRegistry.CreateConverterInstance(System.Type)">
            <summary>
            Creates the instance of the type converter.
            </summary>
            <param name="converterType">The type of the type converter.</param>
            <remarks>
            The type specified for the type converter must implement 
            the <see cref="T:log4net.helpers.TypeConverters.IConvertFrom"/> interface and must have a public
            default (no argument) constructor.
            </remarks>
            <returns>
            The type converter instance to use for type conversions or <c>null</c> 
            if no type converter is found.</returns>
        </member>
        <member name="F:log4net.helpers.TypeConverters.ConverterRegistry.s_registry">
            <summary>
            The singleton registry.
            </summary>
        </member>
        <member name="F:log4net.helpers.TypeConverters.ConverterRegistry.m_type2converter">
            <summary>
            Mapping from <see cref="T:System.Type"/> to type converter.
            </summary>
        </member>
        <member name="P:log4net.helpers.TypeConverters.ConverterRegistry.Item(System.Type)">
            <summary>
            Gets or sets the tye converter for a specific type.
            </summary>
            <value>
            The type converter for a specific type.
            </value>
        </member>
        <member name="T:log4net.helpers.TypeConverters.EncodingConverter">
            <summary>
            Implementation of <see cref="T:log4net.helpers.TypeConverters.IConvertFrom"/> that converts an <see cref="T:System.Text.Encoding"/>
            instance from a string.
            </summary>
        </member>
        <member name="M:log4net.helpers.TypeConverters.EncodingConverter.CanConvertFrom(System.Type)">
            <summary>
            Overrides the CanConvertFrom method of IConvertFrom.
            The ITypeDescriptorContext interface provides the context for the
            conversion. Typically this interface is used at design time to 
            provide information about the design-time container.
            </summary>
            <param name="sourceType"></param>
            <returns>true if the source is a string</returns>
        </member>
        <member name="M:log4net.helpers.TypeConverters.EncodingConverter.ConvertFrom(System.Object)">
            <summary>
            Overrides the ConvertFrom method of IConvertFrom.
            </summary>
            <param name="source">the object to convert to an encoding</param>
            <returns>the encoding</returns>
        </member>
        <member name="T:log4net.helpers.TypeConverters.TypeConverterAttribute">
            <summary>
            Class and Interface level attribute that specifes a type converter
            to use with the associated type.
            </summary>
            <remarks>
            To associate a type converter with a target type apply a
            <c>TypeConverterAttribute</c> to the target type. Specify the
            type of the type converter on the attribute.
            </remarks>
        </member>
        <member name="F:log4net.helpers.TypeConverters.TypeConverterAttribute.m_typeName">
            <summary>
            The string type name of the type converter
            </summary>
        </member>
        <member name="M:log4net.helpers.TypeConverters.TypeConverterAttribute.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:log4net.helpers.TypeConverters.TypeConverterAttribute.#ctor(System.String)">
            <summary>
            Create a new type converter attribute for the specified type name
            </summary>
            <param name="typeName">The string type name of the type converter</param>
            <remarks>
            The type specified must implement the <see cref="T:log4net.helpers.TypeConverters.IConvertFrom"/> 
            interface.
            </remarks>
        </member>
        <member name="M:log4net.helpers.TypeConverters.TypeConverterAttribute.#ctor(System.Type)">
            <summary>
            Create a new type converter attribute for the specified type
            </summary>
            <param name="converterType">The type of the type converter</param>
            <remarks>
            The type specified must implement the <see cref="T:log4net.helpers.TypeConverters.IConvertFrom"/> 
            interface.
            </remarks>
        </member>
        <member name="P:log4net.helpers.TypeConverters.TypeConverterAttribute.ConverterTypeName">
            <summary>
            The string type name of the type converter 
            </summary>
            <value>
            The string type name of the type converter 
            </value>
            <remarks>
            The type specified must implement the <see cref="T:log4net.helpers.TypeConverters.IConvertFrom"/> 
            interface.
            </remarks>
        </member>
        <member name="T:log4net.helpers.AppenderAttachedImpl">
            <summary>
            A straightforward implementation of the <see cref="T:log4net.spi.IAppenderAttachable"/> interface.
            </summary>
        </member>
        <member name="M:log4net.helpers.AppenderAttachedImpl.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.helpers.AppenderAttachedImpl"/> class.
            </summary>
        </member>
        <member name="M:log4net.helpers.AppenderAttachedImpl.AppendLoopOnAppenders(log4net.spi.LoggingEvent)">
            <summary>
            Calls the <see cref="M:log4net.Appender.IAppender.DoAppend(log4net.spi.LoggingEvent)"/> method on all 
            attached appenders.
            </summary>
            <param name="loggingEvent">The event being logged.</param>
            <returns>The number of appenders called.</returns>
        </member>
        <member name="M:log4net.helpers.AppenderAttachedImpl.AddAppender(log4net.Appender.IAppender)">
            <summary>
            Attaches an appender.
            </summary>
            <param name="newAppender">The appender to add.</param>
            <remarks>
            If the appender is already in the list it won't be added again.
            </remarks>
        </member>
        <member name="M:log4net.helpers.AppenderAttachedImpl.GetAppender(System.String)">
            <summary>
            Gets an attached appender with the specified name.
            </summary>
            <param name="name">The name of the appender to get.</param>
            <returns>
            The appender with the name specified, or <c>null</c> if no appender with the
            specified name is found.
            </returns>
        </member>
        <member name="M:log4net.helpers.AppenderAttachedImpl.RemoveAllAppenders">
            <summary>
            Removes all attached appenders.
            </summary>
        </member>
        <member name="M:log4net.helpers.AppenderAttachedImpl.RemoveAppender(log4net.Appender.IAppender)">
            <summary>
            Removes the specified appender from the list of attached appenders.
            </summary>
            <param name="appender">The appender to remove.</param>
        </member>
        <member name="M:log4net.helpers.AppenderAttachedImpl.RemoveAppender(System.String)">
            <summary>
            Removes the appender with the specified name from the list of appenders.
            </summary>
            <param name="name">The name of the appender to remove.</param>
        </member>
        <member name="F:log4net.helpers.AppenderAttachedImpl.m_appenderList">
            <summary>
            Array of appenders
            </summary>
        </member>
        <member name="P:log4net.helpers.AppenderAttachedImpl.Appenders">
            <summary>
            Gets all attached appenders.
            </summary>
            <returns>
            A collection of attached appenders, or <c>null</c> if there
            are no attached appenders.
            </returns>
        </member>
        <member name="T:log4net.helpers.CountingQuietTextWriter">
            <summary>
            Subclass of <see cref="T:log4net.helpers.QuietTextWriter"/> that maintains a count of 
            the number of bytes written.
            </summary>
        </member>
        <member name="T:log4net.helpers.QuietTextWriter">
            <summary>
            QuietTextWriter does not throw exceptions when things go wrong. 
            Instead, it delegates error handling to its <see cref="T:log4net.spi.IErrorHandler"/>.
            </summary>
        </member>
        <member name="M:log4net.helpers.QuietTextWriter.#ctor(System.IO.TextWriter,log4net.spi.IErrorHandler)">
            <summary>
            Create a new QuietTextWriter using a writer and error handler
            </summary>
            <param name="writer">the writer to actually write to</param>
            <param name="errorHandler">the error handler to report error to</param>
        </member>
        <member name="M:log4net.helpers.QuietTextWriter.Write(System.String)">
            <summary>
            Writes a string to the output.
            </summary>
            <param name="value">The string data to write to the output.</param>
        </member>
        <member name="M:log4net.helpers.QuietTextWriter.Flush">
            <summary>
            Flushes any buffered output.
            </summary>
        </member>
        <member name="M:log4net.helpers.QuietTextWriter.Close">
            <summary>
            Closes the underlying output writer.
            </summary>
        </member>
        <member name="F:log4net.helpers.QuietTextWriter.m_errorHandler">
            <summary>
            The error handler instance to pass all errors to
            </summary>
        </member>
        <member name="F:log4net.helpers.QuietTextWriter.m_writer">
            <summary>
            The instance of the underlying TextWriter used for output
            </summary>
        </member>
        <member name="F:log4net.helpers.QuietTextWriter.m_closed">
            <summary>
            Flag to indicate if this writer is closed
            </summary>
        </member>
        <member name="P:log4net.helpers.QuietTextWriter.ErrorHandler">
            <summary>
            Gets or sets the error handler that all errors are 
            passed to.
            </summary>
            <value>
            The error handler that all errors are passed to.
            </value>
        </member>
        <member name="P:log4net.helpers.QuietTextWriter.Closed">
            <summary>
            Gets a value indicating whether this writer is closed.
            </summary>
            <value>
            <c>true</c> if this writer is closed, otherwise <c>false</c>.
            </value>
        </member>
        <member name="P:log4net.helpers.QuietTextWriter.Writer">
            <summary>
            Gets the underlying <see cref="T:System.IO.TextWriter"/>.
            </summary>
            <value>
            The underlying <see cref="T:System.IO.TextWriter"/>.
            </value>
        </member>
        <member name="M:log4net.helpers.CountingQuietTextWriter.#ctor(System.IO.TextWriter,log4net.spi.IErrorHandler)">
            <summary>
            Creates a new instance of the <see cref="T:log4net.helpers.CountingQuietTextWriter"/> class 
            with the specified <see cref="T:System.IO.TextWriter"/> and <see cref="T:log4net.spi.IErrorHandler"/>.
            </summary>
            <param name="writer">The <see cref="T:System.IO.TextWriter"/> to actually write to.</param>
            <param name="errorHandler">The <see cref="T:log4net.spi.IErrorHandler"/> to report errors to.</param>
        </member>
        <member name="M:log4net.helpers.CountingQuietTextWriter.Write(System.String)">
            <summary>
            Writes a string to the output and counts the number of bytes written.
            </summary>
            <param name="str">The string data to write to the output.</param>
        </member>
        <member name="F:log4net.helpers.CountingQuietTextWriter.m_countBytes">
            <summary>
            Total number of bytes written.
            </summary>
        </member>
        <member name="P:log4net.helpers.CountingQuietTextWriter.Count">
            <summary>
            Gets or sets the total number of bytes written.
            </summary>
            <value>
            The total number of bytes written.
            </value>
        </member>
        <member name="T:log4net.helpers.CyclicBuffer">
            <summary>
            A fixed size rolling buffer of logging events.
            </summary>
        </member>
        <member name="M:log4net.helpers.CyclicBuffer.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.helpers.CyclicBuffer"/> class with 
            the specified maximum number of buffered logging events.
            </summary>
            <param name="maxSize">The maximum number of logging events in the buffer.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="maxSize"/> argument is not a positive integer.</exception>
        </member>
        <member name="M:log4net.helpers.CyclicBuffer.Append(log4net.spi.LoggingEvent,log4net.spi.LoggingEvent@)">
            <summary>
            Appends a <paramref name="loggingEvent"/> to the buffer.
            </summary>
            <param name="loggingEvent">The event to append to the buffer.</param>
            <param name="discardedLoggingEvent">The event discarded from the buffer, if any.</param>
            <returns><c>true</c> if the buffer is not full, otherwise <c>false</c>.</returns>
        </member>
        <member name="M:log4net.helpers.CyclicBuffer.PopOldest">
            <summary>
            Gets the oldest (first) logging event in the buffer and removes it 
            from the buffer.
            </summary>
            <returns>The oldest logging event in the buffer</returns>
        </member>
        <member name="M:log4net.helpers.CyclicBuffer.PopAll">
            <summary>
            Pops all the logging events from the buffer into an array.
            </summary>
            <returns>An array of all the logging events in the buffer.</returns>
        </member>
        <member name="M:log4net.helpers.CyclicBuffer.Resize(System.Int32)">
            <summary>
            Resizes the cyclic buffer to <paramref name="newSize"/>.
            </summary>
            <param name="newSize">The new size of the buffer.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="newSize"/> argument is not a positive integer.</exception>
        </member>
        <member name="P:log4net.helpers.CyclicBuffer.Item(System.Int32)">
            <summary>
            Gets the <paramref name="i"/>th oldest event currently in the buffer.
            </summary>
            <value>The <paramref name="i"/>th oldest event currently in the buffer.</value>
            <remarks>
            If <paramref name="i"/> is outside the range 0 to the number of events
            currently in the buffer, then <c>null</c> is returned.
            </remarks>
        </member>
        <member name="P:log4net.helpers.CyclicBuffer.MaxSize">
            <summary>
            Gets or sets the maximum size of the buffer.
            </summary>
            <value>The maximum size of the buffer.</value>
        </member>
        <member name="P:log4net.helpers.CyclicBuffer.Length">
            <summary>
            Gets the number of logging events in the buffer.
            </summary>
            <value>The number of logging events in the buffer.</value>
            <remarks>
            This number is guaranteed to be in the range 0 to <see cref="P:log4net.helpers.CyclicBuffer.MaxSize"/>
            (inclusive).
            </remarks>
        </member>
        <member name="T:log4net.helpers.EmptyCollection">
            <summary>
            An always empty <see cref="T:System.Collections.ICollection"/>.
            </summary>
        </member>
        <member name="M:log4net.helpers.EmptyCollection.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.helpers.EmptyCollection"/> class. 
            </summary>
            <remarks>
            Uses a private access modifier to enforce the singleton pattern.
            </remarks>
        </member>
        <member name="M:log4net.helpers.EmptyCollection.CopyTo(System.Array,System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an 
            <see cref="T:System.Array"/>, starting at a particular Array index.
            </summary>
            <param name="array">The one-dimensional <see cref="T:System.Array"/> 
            that is the destination of the elements copied from 
            <see cref="T:System.Collections.ICollection"/>. The Array must have zero-based 
            indexing.</param>
            <param name="index">The zero-based index in array at which 
            copying begins.</param>
        </member>
        <member name="M:log4net.helpers.EmptyCollection.GetEnumerator">
            <summary>
            Returns an enumerator that can iterate through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator"/> that can be used to 
            iterate through the collection.
            </returns>
        </member>
        <member name="F:log4net.helpers.EmptyCollection.s_instance">
            <summary>
            The singleton instance of the empty collection.
            </summary>
        </member>
        <member name="P:log4net.helpers.EmptyCollection.Instance">
            <summary>
            Gets the singleton instance of the empty collection.
            </summary>
            <returns>The singletion instance of the empty collection.</returns>
        </member>
        <member name="P:log4net.helpers.EmptyCollection.IsSynchronized">
            <summary>
            Gets a value indicating if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread-safe).
            </summary>
            <value>
            <b>true</b> if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread-safe); otherwise, <b>false</b>.
            </value>
            <remarks>
            For the <see cref="T:log4net.helpers.EmptyCollection"/> this property is always <c>true</c>.
            </remarks>
        </member>
        <member name="P:log4net.helpers.EmptyCollection.Count">
            <summary>
            Gets the number of elements contained in the <see cref="T:System.Collections.ICollection"/>.
            </summary>
            <value>
            The number of elements contained in the <see cref="T:System.Collections.ICollection"/>.
            </value>
        </member>
        <member name="P:log4net.helpers.EmptyCollection.SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
            </summary>
            <value>
            An object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
            </value>
        </member>
        <member name="T:log4net.helpers.EmptyDictionary">
            <summary>
            An always empty <see cref="T:System.Collections.IDictionary"/>.
            </summary>
        </member>
        <member name="M:log4net.helpers.EmptyDictionary.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.helpers.EmptyDictionary"/> class. 
            </summary>
            <remarks>
            Uses a private access modifier to enforce the singleton pattern.
            </remarks>
        </member>
        <member name="M:log4net.helpers.EmptyDictionary.CopyTo(System.Array,System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an 
            <see cref="T:System.Array"/>, starting at a particular Array index.
            </summary>
            <param name="array">The one-dimensional <see cref="T:System.Array"/> 
            that is the destination of the elements copied from 
            <see cref="T:System.Collections.ICollection"/>. The Array must have zero-based 
            indexing.</param>
            <param name="index">The zero-based index in array at which 
            copying begins.</param>
        </member>
        <member name="M:log4net.helpers.EmptyDictionary.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that can iterate through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator"/> that can be used to 
            iterate through the collection.
            </returns>
        </member>
        <member name="M:log4net.helpers.EmptyDictionary.Add(System.Object,System.Object)">
            <summary>
            Adds an element with the provided key and value to the 
            <see cref="T:log4net.helpers.EmptyDictionary"/>.
            </summary>
            <param name="key">The <see cref="T:System.Object"/> to use as the key of the element to add.</param>
            <param name="value">The <see cref="T:System.Object"/> to use as the value of the element to add.</param>
        </member>
        <member name="M:log4net.helpers.EmptyDictionary.Clear">
            <summary>
            Removes all elements from the <see cref="T:log4net.helpers.EmptyDictionary"/>.
            </summary>
        </member>
        <member name="M:log4net.helpers.EmptyDictionary.Contains(System.Object)">
            <summary>
            Determines whether the <see cref="T:log4net.helpers.EmptyDictionary"/> contains an element 
            with the specified key.
            </summary>
            <param name="key">The key to locate in the <see cref="T:log4net.helpers.EmptyDictionary"/>.</param>
            <returns><c>false</c></returns>
        </member>
        <member name="M:log4net.helpers.EmptyDictionary.GetEnumerator">
            <summary>
            Returns an enumerator that can iterate through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator"/> that can be used to 
            iterate through the collection.
            </returns>
        </member>
        <member name="M:log4net.helpers.EmptyDictionary.Remove(System.Object)">
            <summary>
            Removes the element with the specified key from the <see cref="T:log4net.helpers.EmptyDictionary"/>.
            </summary>
            <param name="key">The key of the element to remove.</param>
        </member>
        <member name="F:log4net.helpers.EmptyDictionary.s_instance">
            <summary>
            The singleton instance of the empty dictionary.
            </summary>
        </member>
        <member name="P:log4net.helpers.EmptyDictionary.Instance">
            <summary>
            Gets the singleton instance of the <see cref="T:log4net.helpers.EmptyDictionary"/>.
            </summary>
            <returns>The singleton instance of the <see cref="T:log4net.helpers.EmptyDictionary"/>.</returns>
        </member>
        <member name="P:log4net.helpers.EmptyDictionary.IsSynchronized">
            <summary>
            Gets a value indicating if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread-safe).
            </summary>
            <value>
            <b>true</b> if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread-safe); otherwise, <b>false</b>.
            </value>
            <remarks>
            For the <see cref="T:log4net.helpers.EmptyCollection"/> this property is always <b>true</b>.
            </remarks>
        </member>
        <member name="P:log4net.helpers.EmptyDictionary.Count">
            <summary>
            Gets the number of elements contained in the <see cref="T:System.Collections.ICollection"/>
            </summary>
            <value>
            The number of elements contained in the <see cref="T:System.Collections.ICollection"/>.
            </value>
        </member>
        <member name="P:log4net.helpers.EmptyDictionary.SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
            </summary>
            <value>
            An object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
            </value>
        </member>
        <member name="P:log4net.helpers.EmptyDictionary.IsFixedSize">
            <summary>
            Gets a value indicating whether the <see cref="T:log4net.helpers.EmptyDictionary"/> has a fixed size.
            </summary>
            <value><c>true</c></value>
        </member>
        <member name="P:log4net.helpers.EmptyDictionary.IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:log4net.helpers.EmptyDictionary"/> is read-only.
            </summary>
            <value><c>true</c></value>
        </member>
        <member name="P:log4net.helpers.EmptyDictionary.Keys">
            <summary>
            Gets an <see cref="T:System.Collections.ICollection"/> containing the keys of the <see cref="T:log4net.helpers.EmptyDictionary"/>.
            </summary>
            <value>An <see cref="T:System.Collections.ICollection"/> containing the keys of the <see cref="T:log4net.helpers.EmptyDictionary"/>.</value>
        </member>
        <member name="P:log4net.helpers.EmptyDictionary.Values">
            <summary>
            Gets an <see cref="T:System.Collections.ICollection"/> containing the values of the <see cref="T:log4net.helpers.EmptyDictionary"/>.
            </summary>
            <value>An <see cref="T:System.Collections.ICollection"/> containing the values of the <see cref="T:log4net.helpers.EmptyDictionary"/>.</value>
        </member>
        <member name="P:log4net.helpers.EmptyDictionary.Item(System.Object)">
            <summary>
            Gets or sets the element with the specified key.
            </summary>
            <param name="key">The key of the element to get or set.</param>
            <value><c>null</c></value>
        </member>
        <member name="T:log4net.helpers.FormattingInfo">
            <summary>
            Contain the information obtained when parsing formatting modifiers 
            in conversion modifiers.
            </summary>
        </member>
        <member name="M:log4net.helpers.FormattingInfo.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.helpers.FormattingInfo"/> class.
            </summary>
        </member>
        <member name="M:log4net.helpers.FormattingInfo.Reset">
            <summary>
            Resets all properties to their default values.
            </summary>
        </member>
        <member name="M:log4net.helpers.FormattingInfo.Dump">
            <summary>
            Dump debug info
            </summary>
        </member>
        <member name="P:log4net.helpers.FormattingInfo.Min">
            <summary>
            Gets or sets the minimum value.
            </summary>
            <value>The minimum value.</value>
        </member>
        <member name="P:log4net.helpers.FormattingInfo.Max">
            <summary>
            Gets or sets the maximum value.
            </summary>
            <value>The maximum value.</value>
        </member>
        <member name="P:log4net.helpers.FormattingInfo.LeftAlign">
            <summary>
            Gets or sets a flag indicating whether left align is enabled
            or not.
            </summary>
            <value>A flag indicating whether left align is enabled or not.</value>
        </member>
        <member name="T:log4net.helpers.LogLog">
            <summary>
            Outputs log statements from within the log4net assembly.
            </summary>
            <remarks>
            <para>
            Log4net components cannot make log4net logging calls. However, it is
            sometimes useful for the user to learn about what log4net is
            doing.
            </para>
            <para>
            All log4net internal debug calls go to the standard output stream
            whereas internal error messages are sent to the standard error output 
            stream.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.helpers.LogLog.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.helpers.LogLog"/> class. 
            </summary>
            <remarks>
            Uses a private access modifier to prevent instantiation of this class.
            </remarks>
        </member>
        <member name="M:log4net.helpers.LogLog.#cctor">
            <summary>
            Static constructor that initializes logging by reading 
            settings from the application configuration file.
            </summary>
            <remarks>
            <para>
            The <c>log4net.Internal.Debug</c> application setting
            controls internal debugging. This setting should be set
            to <c>true</c> to enable debugging.
            </para>
            <para>
            The <c>log4net.Internal.Quiet</c> application setting
            suppresses all internal logging including error messages. 
            This setting should be set to <c>true</c> to enable message
            suppression.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.helpers.LogLog.EmitOutLine(System.String)">
            <summary>
            Writes output to the standard output stream.  
            </summary>
            <param name="msg">The message to log.</param>
            <remarks>
            Uses Console.Out for console output,
            and Trace for OutputDebugString output.
            </remarks>
        </member>
        <member name="M:log4net.helpers.LogLog.EmitErrorLine(System.String)">
            <summary>
            Writes output to the standard error stream.  
            </summary>
            <param name="msg">The message to log.</param>
            <remarks>
            Use Console.Error for console output,
            and Trace for OutputDebugString output.
            </remarks>
        </member>
        <member name="M:log4net.helpers.LogLog.Debug(System.String)">
            <summary>
            Writes log4net internal debug messages to the 
            standard output stream.
            </summary>
            <param name="msg">The message to log.</param>
            <remarks>
            <para>
            All internal debug messages are prepended with 
            the string "log4net: ".
            </para>
            </remarks>
        </member>
        <member name="M:log4net.helpers.LogLog.Debug(System.String,System.Exception)">
            <summary>
            Writes log4net internal debug messages to the 
            standard output stream.
            </summary>
            <param name="msg">The message to log.</param>
            <param name="t">An exception to log.</param>
            <remarks>
            <para>
            All internal debug messages are prepended with 
            the string "log4net: ".
            </para>
            </remarks>
        </member>
        <member name="M:log4net.helpers.LogLog.Error(System.String)">
            <summary>
            Writes log4net internal error messages to the 
            standard error stream.
            </summary>
            <param name="msg">The message to log.</param>
            <remarks>
            <para>
            All internal error messages are prepended with 
            the string "log4net:ERROR ".
            </para>
            </remarks>
        </member>
        <member name="M:log4net.helpers.LogLog.Error(System.String,System.Exception)">
            <summary>
            Writes log4net internal error messages to the 
            standard error stream.
            </summary>
            <param name="msg">The message to log.</param>
            <param name="t">An exception to log.</param>
            <remarks>
            <para>
            All internal debug messages are prepended with 
            the string "log4net:ERROR ".
            </para>
            </remarks>
        </member>
        <member name="M:log4net.helpers.LogLog.Warn(System.String)">
            <summary>
            Writes log4net internal warning messages to the 
            standard error stream.
            </summary>
            <param name="msg">The message to log.</param>
            <remarks>
            <para>
            All internal warning messages are prepended with 
            the string "log4net:WARN ".
            </para>
            </remarks>
        </member>
        <member name="M:log4net.helpers.LogLog.Warn(System.String,System.Exception)">
            <summary>
            Writes log4net internal warning messages to the 
            standard error stream.
            </summary>
            <param name="msg">The message to log.</param>
            <param name="t">An exception to log.</param>
            <remarks>
            <para>
            All internal warning messages are prepended with 
            the string "log4net:WARN ".
            </para>
            </remarks>
        </member>
        <member name="F:log4net.helpers.LogLog.s_debugEnabled">
            <summary>
             Default debug level
            </summary>
        </member>
        <member name="F:log4net.helpers.LogLog.s_quietMode">
            <summary>
            In quietMode not even errors generate any output.
            </summary>
        </member>
        <member name="P:log4net.helpers.LogLog.InternalDebugging">
            <summary>
            Gets or sets a value indicating whether log4net internal logging
            is enabled or disabled.
            </summary>
            <value>
            <c>true</c> if log4net internal logging is enabled, otherwise 
            <c>false</c>.
            </value>
            <remarks>
            <para>
            When set to <c>true</c>, internal debug level logging will be 
            displayed.
            </para>
            <para>
            This value can be set by setting the application setting 
            <c>log4net.Internal.Debug</c> in the application configuration
            file.
            </para>
            <para>
            The default value is <c>false</c>, i.e. debugging is
            disabled.
            </para>
            </remarks>
            <example>
            <para>
            The following example enables internal debugging using the 
            application configuration file :
            </para>
            <code>
            &lt;configuration&gt;
            	&lt;appSettings&gt;
            		&lt;add key="log4net.Internal.Debug" value="true" /&gt;
            	&lt;/appSettings&gt;
            &lt;/configuration&gt;
            </code>
            </example>
        </member>
        <member name="P:log4net.helpers.LogLog.QuietMode">
            <summary>
            Gets or sets a value indicating whether log4net should generate no output
            from internal logging, not even for errors. 
            </summary>
            <value>
            <c>true</c> if log4net should generate no output at all from internal 
            logging, otherwise <c>false</c>.
            </value>
            <remarks>
            <para>
            When set to <c>true</c> will cause internal logging at all levels to be 
            suppressed. This means that no warning or error reports will be logged. 
            This option overrides the <see cref="P:log4net.helpers.LogLog.InternalDebugging"/> setting and 
            disables all debug also.
            </para>
            <para>This value can be set by setting the application setting
            <c>log4net.Internal.Quiet</c> in the application configuration file.
            </para>
            <para>
            The default value is <c>false</c>, i.e. internal logging is not
            disabled.
            </para>
            </remarks>
            <example>
            The following example disables internal logging using the 
            application configuration file :
            <code>
            &lt;configuration&gt;
            	&lt;appSettings&gt;
            		&lt;add key="log4net.Internal.Quiet" value="true" /&gt;
            	&lt;/appSettings&gt;
            &lt;/configuration&gt;
            </code>
            </example>
        </member>
        <member name="T:log4net.helpers.NativeError">
            <summary>
            Represents a native error code and message.
            </summary>
        </member>
        <member name="M:log4net.helpers.NativeError.#ctor(System.Int32,System.String)">
            <summary>
            Create an instance of the <see cref="T:log4net.helpers.NativeError"/> class with the specified 
            error number and message.
            </summary>
            <param name="number">The number of the native error.</param>
            <param name="message">The message of the native error.</param>
        </member>
        <member name="M:log4net.helpers.NativeError.GetError(System.Int32)">
            <summary>
            Create a new instance of the <see cref="T:log4net.helpers.NativeError"/> class.
            </summary>
            <param name="number">the error number for the native error</param>
            <returns>
            An instance of the <see cref="T:log4net.helpers.NativeError"/> class for the specified 
            error number.
            </returns>
            <remarks>
            <para>
            The message for the specified error number is lookup up using the 
            native Win32 <c>FormatMessage</c> function.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.helpers.NativeError.GetErrorMessage(System.Int32)">
            <summary>
            Retrieves the message corresponding with a Win32 message identifier.
            </summary>
            <param name="messageId">Message identifier for the requested message.</param>
            <remarks>
            The message will be searched for in system message-table resource(s)
            using the native <c>FormatMessage</c> function.
            </remarks>
            <returns>
            The message corresponding with the specified message identifier.
            </returns>
        </member>
        <member name="M:log4net.helpers.NativeError.ToString">
            <summary>
            Return error information string
            </summary>
            <returns>error information string</returns>
        </member>
        <member name="M:log4net.helpers.NativeError.FormatMessage(System.Int32,System.IntPtr@,System.Int32,System.Int32,System.String@,System.Int32,System.IntPtr)">
            <summary>
            Formats a message string.
            </summary>
            <param name="dwFlags">Formatting options, and how to interpret the <paramref name="lpSource"/> parameter.</param>
            <param name="lpSource">Location of the message definition.</param>
            <param name="dwMessageId">Message identifier for the requested message.</param>
            <param name="dwLanguageId">Languager identifier for the requested message.</param>
            <param name="lpBuffer">If <paramref name="dwFlags"/> includes FORMAT_MESSAGE_ALLOCATE_BUFFER, the function allocates a buffer using the <c>LocalAlloc</c> function, and places the pointer to the buffer at the address specified in <paramref name="lpBuffer"/>.</param>
            <param name="nSize">If the FORMAT_MESSAGE_ALLOCATE_BUFFER flag is not set, this parameter specifies the maximum number of TCHARs that can be stored in the output buffer. If FORMAT_MESSAGE_ALLOCATE_BUFFER is set, this parameter specifies the minimum number of TCHARs to allocate for an output buffer.</param>
            <param name="Arguments">Pointer to an array of values that are used as insert values in the formatted message.</param>
            <remarks>
            <para>
            The function requires a message definition as input. The message definition can come from a 
            buffer passed into the function. It can come from a message table resource in an 
            already-loaded module. Or the caller can ask the function to search the system's message 
            table resource(s) for the message definition. The function finds the message definition 
            in a message table resource based on a message identifier and a language identifier. 
            The function copies the formatted message text to an output buffer, processing any embedded 
            insert sequences if requested.
            </para>
            <para>
            To prevent the usage of unsafe code, this stub does not support inserting values in the formatted message.
            </para>
            </remarks>
            <returns>
            <para>
            If the function succeeds, the return value is the number of TCHARs stored in the output 
            buffer, excluding the terminating null character.
            </para>
            <para>
            If the function fails, the return value is zero. To get extended error information, 
            call <see cref="M:System.Runtime.InteropServices.Marshal.GetLastWin32Error"/>.
            </para>
            </returns>
        </member>
        <member name="P:log4net.helpers.NativeError.Number">
            <summary>
            Gets the number of the native error.
            </summary>
            <value>
            The number of the native error.
            </value>
        </member>
        <member name="P:log4net.helpers.NativeError.Message">
            <summary>
            Gets the message of the native error.
            </summary>
            <value>
            The message of the native error.
            </value>
        </member>
        <member name="T:log4net.helpers.NullDictionaryEnumerator">
            <summary>
            An always empty <see cref="T:System.Collections.IDictionaryEnumerator"/>.
            </summary>
        </member>
        <member name="M:log4net.helpers.NullDictionaryEnumerator.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.helpers.NullDictionaryEnumerator"/> class. 
            </summary>
            <remarks>
            Uses a private access modifier to enforce the singleton pattern.
            </remarks>
        </member>
        <member name="M:log4net.helpers.NullDictionaryEnumerator.MoveNext">
            <summary>
            Test if the enumerator can advance, if so advance.
            </summary>
            <returns><c>false</c> as the <see cref="T:log4net.helpers.NullDictionaryEnumerator"/> cannot advance.</returns>
        </member>
        <member name="M:log4net.helpers.NullDictionaryEnumerator.Reset">
            <summary>
            Resets the enumerator back to the start.
            </summary>
        </member>
        <member name="F:log4net.helpers.NullDictionaryEnumerator.s_instance">
            <summary>
            The singleton instance of the <see cref="T:log4net.helpers.NullDictionaryEnumerator"/>.
            </summary>
        </member>
        <member name="P:log4net.helpers.NullDictionaryEnumerator.Instance">
            <summary>
            Gets the singleton instance of the <see cref="T:log4net.helpers.NullDictionaryEnumerator"/>.
            </summary>
            <returns>The singleton instance of the <see cref="T:log4net.helpers.NullDictionaryEnumerator"/>.</returns>
        </member>
        <member name="P:log4net.helpers.NullDictionaryEnumerator.Current">
            <summary>
            Gets the current object from the enumerator.
            </summary>
            <remarks>
            Throws an <see cref="T:System.InvalidOperationException"/> because the 
            <see cref="T:log4net.helpers.NullDictionaryEnumerator"/> never has a current value.
            </remarks>
        </member>
        <member name="P:log4net.helpers.NullDictionaryEnumerator.Key">
            <summary>
            Gets the current key from the enumerator.
            </summary>
            <remarks>
            Throws an exception because the <see cref="T:log4net.helpers.NullDictionaryEnumerator"/>
            never has a current value.
            </remarks>
        </member>
        <member name="P:log4net.helpers.NullDictionaryEnumerator.Value">
            <summary>
            Gets the current value from the enumerator.
            </summary>
            <value>The current value from the enumerator.</value>
            <remarks>
            Throws an <see cref="T:System.InvalidOperationException"/> because the 
            <see cref="T:log4net.helpers.NullDictionaryEnumerator"/> never has a current value.
            </remarks>
        </member>
        <member name="P:log4net.helpers.NullDictionaryEnumerator.Entry">
            <summary>
            Gets the current entry from the enumerator.
            </summary>
            <remarks>
            Throws an <see cref="T:System.InvalidOperationException"/> because the 
            <see cref="T:log4net.helpers.NullDictionaryEnumerator"/> never has a current entry.
            </remarks>
        </member>
        <member name="T:log4net.helpers.NullEnumerator">
            <summary>
            An always empty <see cref="T:System.Collections.IEnumerator"/>.
            </summary>
        </member>
        <member name="M:log4net.helpers.NullEnumerator.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.helpers.NullEnumerator"/> class. 
            </summary>
            <remarks>
            Uses a private access modifier to enforce the singleton pattern.
            </remarks>
        </member>
        <member name="M:log4net.helpers.NullEnumerator.MoveNext">
            <summary>
            Test if the enumerator can advance, if so advance
            </summary>
            <returns><c>false</c> as the <see cref="T:log4net.helpers.NullEnumerator"/> cannot advance.</returns>
        </member>
        <member name="M:log4net.helpers.NullEnumerator.Reset">
            <summary>
            Resets the enumerator back to the start.
            </summary>
        </member>
        <member name="F:log4net.helpers.NullEnumerator.s_instance">
            <summary>
            The singleton instance of the <see cref="T:log4net.helpers.NullEnumerator"/>.
            </summary>
        </member>
        <member name="P:log4net.helpers.NullEnumerator.Instance">
            <summary>
            Get the singleton instance of the <see cref="T:log4net.helpers.NullEnumerator"/>.
            </summary>
            <returns>The singleton instance of the <see cref="T:log4net.helpers.NullEnumerator"/>.</returns>
        </member>
        <member name="P:log4net.helpers.NullEnumerator.Current">
            <summary>
            Gets the current object from the enumerator.
            </summary>
            <remarks>
            Throws an <see cref="T:System.InvalidOperationException"/> because the 
            <see cref="T:log4net.helpers.NullDictionaryEnumerator"/> never has a current value.
            </remarks>
        </member>
        <member name="T:log4net.helpers.OnlyOnceErrorHandler">
            <summary>
            Implements log4net's default error handling policy which consists 
            of emitting a message for the first error in an appender and 
            ignoring all suqsequent errors.
            </summary>
            <remarks>
            <para>
            The error message is printed on the standard error output stream.
            </para>
            <para>
            This policy aims at protecting an otherwise working application
            from being flooded with error messages when logging fails.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.spi.IErrorHandler">
            <summary>
            Appenders may delegate their error handling to an <see cref="T:log4net.spi.IErrorHandler"/>.
            </summary>
            <remarks>
            Error handling is a particularly tedious to get right because by
            definition errors are hard to predict and to reproduce. 
            </remarks>
        </member>
        <member name="M:log4net.spi.IErrorHandler.Error(System.String,System.Exception,log4net.spi.ErrorCodes)">
            <summary>
            Handles the error and information about the error condition is passed as 
            a parameter.
            </summary>
            <param name="message">The message associated with the error.</param>
            <param name="e">The <see cref="T:System.Exception"/> that was thrown when the error occurred.</param>
            <param name="errorCode">The error code associated with the error.</param>
        </member>
        <member name="M:log4net.spi.IErrorHandler.Error(System.String,System.Exception)">
            <summary>
            Prints the error message passed as a parameter.
            </summary>
            <param name="message">The message associated with the error.</param>
            <param name="e">The <see cref="T:System.Exception"/> that was thrown when the error occurred.</param>
        </member>
        <member name="M:log4net.spi.IErrorHandler.Error(System.String)">
            <summary>
            Prints the error message passed as a parameter.
            </summary>
            <param name="message">The message associated with the error.</param>
        </member>
        <member name="M:log4net.helpers.OnlyOnceErrorHandler.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.helpers.OnlyOnceErrorHandler"/> class.
            </summary>
        </member>
        <member name="M:log4net.helpers.OnlyOnceErrorHandler.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.helpers.OnlyOnceErrorHandler"/> class
            with the specified prefix.
            </summary>
            <param name="prefix">The prefix to use for each message.</param>
        </member>
        <member name="M:log4net.helpers.OnlyOnceErrorHandler.Error(System.String,System.Exception,log4net.spi.ErrorCodes)">
            <summary>
            Prints the message and the stack trace of the exception on the standard
            error output stream.
            </summary>
            <param name="message">The error message.</param>
            <param name="e">The exception.</param>
            <param name="errorCode">The internal error code.</param>
        </member>
        <member name="M:log4net.helpers.OnlyOnceErrorHandler.Error(System.String,System.Exception)">
            <summary>
            Prints the message and the stack trace of the exception on the standard
            error output stream.
            </summary>
            <param name="message">The error message.</param>
            <param name="e">The exception.</param>
        </member>
        <member name="M:log4net.helpers.OnlyOnceErrorHandler.Error(System.String)">
            <summary>
            Print a the error message passed as parameter on the standard
            error output stream.
            </summary>
            <param name="message">The error message.</param>
        </member>
        <member name="F:log4net.helpers.OnlyOnceErrorHandler.m_firstTime">
            <summary>
            Flag to indicate if it is the first error
            </summary>
        </member>
        <member name="F:log4net.helpers.OnlyOnceErrorHandler.m_prefix">
            <summary>
            String to prefix each message with
            </summary>
        </member>
        <member name="T:log4net.helpers.OptionConverter">
            <summary>
            A convenience class to convert property values to specific types.
            </summary>
        </member>
        <member name="M:log4net.helpers.OptionConverter.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.helpers.OptionConverter"/> class. 
            </summary>
            <remarks>
            Uses a private access modifier to prevent instantiation of this class.
            </remarks>
        </member>
        <member name="M:log4net.helpers.OptionConverter.ConcatenateArrays(System.String[],System.String[])">
            <summary>
            Concatenates two string arrays.
            </summary>
            <param name="l">Left array.</param>
            <param name="r">Right array.</param>
            <returns>Array containing both left and right arrays.</returns>
        </member>
        <member name="M:log4net.helpers.OptionConverter.ConcatenateArrays(System.Array,System.Array)">
            <summary>
            Concatenates two arrays.
            </summary>
            <param name="l">Left array</param>
            <param name="r">Right array</param>
            <returns>Array containing both left and right arrays.</returns>
        </member>
        <member name="M:log4net.helpers.OptionConverter.ConvertSpecialChars(System.String)">
            <summary>
            Converts string escape characters back to their correct values.
            </summary>
            <param name="s">String to convert.</param>
            <returns>Converted result.</returns>
        </member>
        <member name="M:log4net.helpers.OptionConverter.ToBoolean(System.String,System.Boolean)">
            <summary>
            Converts a string to a <see cref="T:System.Boolean"/> value.
            </summary>
            <param name="argValue">String to convert.</param>
            <param name="defaultValue">The default value.</param>
            <remarks>
            If <paramref name="argValue"/> is "true", then <c>true</c> is returned. 
            If <paramref name="argValue"/> is "false", then <c>false</c> is returned. 
            Otherwise, <paramref name="defaultValue"/> is returned.
            </remarks>
            <returns>The <see cref="T:System.Boolean"/> value of <paramref name="argValue"/>.</returns>
        </member>
        <member name="M:log4net.helpers.OptionConverter.ToInt(System.String,System.Int32)">
            <summary>
            Converts a string to an integer.
            </summary>
            <param name="argValue">String to convert.</param>
            <param name="defaultValue">The default value.</param>
            <remarks>
            <paramref name="defaultValue"/> is returned when <paramref name="argValue"/>
            cannot be converted to a <see cref="T:System.Int32"/> value.
            </remarks>
            <returns>The <see cref="T:System.Int32"/> value of <paramref name="argValue"/>.</returns>
        </member>
        <member name="M:log4net.helpers.OptionConverter.ToFileSize(System.String,System.Int64)">
            <summary>
            Parses a file size into a number.
            </summary>
            <param name="argValue">String to parse.</param>
            <param name="defaultValue">The default value.</param>
            <remarks>
            <para>
            Parses a file size of the form: number[KB|MB|GB] into a
            long value. It is scaled with the appropriate multiplier.
            </para>
            <para>
            <paramref name="defaultValue"/> is returned when <paramref name="argValue"/>
            cannot be converted to a <see cref="T:System.Int64"/> value.
            </para>
            </remarks>
            <returns>The <see cref="T:System.Int64"/> value of <paramref name="argValue"/>.</returns>
        </member>
        <member name="M:log4net.helpers.OptionConverter.ConvertStringTo(System.Type,System.String)">
            <summary>
            Converts a string to an object.
            </summary>
            <param name="target">The target type to convert to.</param>
            <param name="txt">The string to convert to an object.</param>
            <returns>
            The object converted from a string or <c>null</c> when the 
            conversion failed.
            </returns>
        </member>
        <member name="M:log4net.helpers.OptionConverter.GetTypeConverter(System.Type)">
            <summary>
            Looks up the <see cref="T:log4net.helpers.TypeConverters.IConvertFrom"/> for the target type.
            </summary>
            <param name="target">The type to lookup the converter for.</param>
            <returns>The converter for the specified type.</returns>
        </member>
        <member name="M:log4net.helpers.OptionConverter.CanConvertTypeTo(System.Type,System.Type)">
            <summary>
            Checks if there is an apropriate type conversion from the source type to the target type.
            </summary>
            <param name="sourceType">The type to convert from.</param>
            <param name="targetType">The type to convert to.</param>
            <returns><c>true</c> if there is a conversion from the source type to the target type.</returns>
        </member>
        <member name="M:log4net.helpers.OptionConverter.ConvertTypeTo(System.Object,System.Type)">
            <summary>
            Converts an object to the target type.
            </summary>
            <param name="sourceObject">The object to convert to the target type.</param>
            <param name="targetType">The type to convert to.</param>
            <returns>The converted object.</returns>
        </member>
        <member name="M:log4net.helpers.OptionConverter.FindAndSubst(System.String,System.Collections.IDictionary)">
            <summary>
            Finds the value corresponding to <paramref name="key"/> in 
            <paramref name="props"/> and then perform variable substitution 
            on the found value.
            </summary>
            <param name="key">The key to lookup.</param>
            <param name="props">The association to use for lookups.</param>
            <returns>The substituted result.</returns>
        </member>
        <member name="M:log4net.helpers.OptionConverter.InstantiateByClassName(System.String,System.Type,System.Object)">
            <summary>
            Instantiates an object given a class name.
            </summary>
            <param name="className">The fully qualified class name of the object to instantiate.</param>
            <param name="superClass">The class to which the new object should belong.</param>
            <param name="defaultValue">The object to return in case of non-fulfilment.</param>
            <remarks>
            Checks that the <paramref name="className"/> is a subclass of
            <paramref name="superClass"/>. If that test fails or the object could
            not be instantiated, then <paramref name="defaultValue"/> is returned.
            </remarks>
            <returns>
            An instance of the <paramref name="className"/> or <paramref name="defaultValue"/>
            if the object could not be instantiated.
            </returns>
        </member>
        <member name="M:log4net.helpers.OptionConverter.SubstVars(System.String,System.Collections.IDictionary)">
            <summary>
            Performs variable substitution in string <paramref name="val"/> from the 
            values of keys found in <paramref name="props"/>.
            </summary>
            <param name="value">The string on which variable substitution is performed.</param>
            <param name="props">The dictionary to use to lookup variables.</param>
            <remarks>
            <para>
            The variable substitution delimiters are <b>${</b> and <b>}</b>.
            </para>
            <para>
            For example, if props contains &quot;key=value&quot;, then the call
            </para>
            <para>
            <code>
            string s = OptionConverter.substituteVars("Value of key is ${key}.");
            </code>
            </para>
            <para>
            will set the variable <c>s</c> to &quot;Value of key is value.&quot;.
            </para>
            <para>
            If no value could be found for the specified key, then substitution 
            defaults to an empty string.
            </para>
            <para>
            For example, if system properties contains no value for the key
            &quot;inexistentKey&quot;, then the call
            </para>
            <para>
            <code>
            string s = OptionConverter.subsVars("Value of inexistentKey is [${inexistentKey}]");
            </code>
            </para>
            <para>
            will set <s>s</s> to &quot;Value of inexistentKey is []&quot;.	 
            </para>
            <para>
            An Exception is thrown if <paramref name="value"/> contains a start 
            delimiter &quot;${&quot; which is not balanced by a stop delimiter "}". 
            </para>
            </remarks>
            <returns>The result of the substitutions.</returns>
        </member>
        <member name="M:log4net.helpers.OptionConverter.ParseEnum(System.Type,System.String,System.Boolean)">
            <summary>
            Converts the string representation of the name or numeric value of one or 
            more enumerated constants to an equivalent enumerated object.
            </summary>
            <param name="enumType">The type to convert to.</param>
            <param name="value">The enum string value.</param>
            <param name="ignoreCase">If <c>true</c>, ignore case; otherwise, regard case.</param>
            <returns>An object of type <paramref name="enumType" /> whose value is represented by <paramref name="value" />.</returns>
        </member>
        <member name="T:log4net.helpers.PatternConverter">
            <summary>
            Abstract class that provides the formatting functionality that 
            derived classes need.
            </summary>
            <remarks>
            Conversion specifiers in a conversion patterns are parsed to
            individual PatternConverters. Each of which is responsible for
            converting a logging event in a converter specific manner.
            </remarks>
        </member>
        <member name="M:log4net.helpers.PatternConverter.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.helpers.PatternConverter"/> class.
            </summary>
        </member>
        <member name="M:log4net.helpers.PatternConverter.#ctor(log4net.helpers.FormattingInfo)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.helpers.PatternConverter"/> class 
            with the specified formatting info object.
            </summary>
            <param name="formattingInfo">The formatting info object to use.</param>
        </member>
        <member name="M:log4net.helpers.PatternConverter.Convert(log4net.spi.LoggingEvent)">
            <summary>
            Derived pattern converters must override this method in order to
            convert conversion specifiers in the correct way.
            </summary>
            <param name="loggingEvent">The <see cref="T:log4net.spi.LoggingEvent"/> on which the pattern converter should be executed.</param>
            <returns></returns>
        </member>
        <member name="M:log4net.helpers.PatternConverter.Format(System.Text.StringBuilder,log4net.spi.LoggingEvent)">
            <summary>
            A template method for formatting in a converter specific way.
            </summary>
            <param name="buffer"><see cref="T:System.Text.StringBuilder"/> that will receive the formatted result.</param>
            <param name="loggingEvent">The <see cref="T:log4net.spi.LoggingEvent"/> on which the pattern converter should be executed.</param>
        </member>
        <member name="M:log4net.helpers.PatternConverter.SpacePad(System.Text.StringBuilder,System.Int32)">
            <summary>
            Fast space padding method.
            </summary>
            <param name="buffer"><see cref="T:System.Text.StringBuilder"/> to which the spaces will be appended.</param>
            <param name="length">The number of spaces to be padded.</param>
        </member>
        <member name="P:log4net.helpers.PatternConverter.Next">
            <summary>
            the next patter converter in the chain
            </summary>
        </member>
        <member name="T:log4net.helpers.PatternParser">
            <summary>
            Most of the work of the <see cref="T:log4net.Layout.PatternLayout"/> class
            is delegated to the PatternParser class.
            </summary>
        </member>
        <member name="M:log4net.helpers.PatternParser.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.helpers.PatternParser"/> class 
            with the specified pattern string.
            </summary>
            <param name="pattern">The pattern to parse.</param>
        </member>
        <member name="M:log4net.helpers.PatternParser.Parse">
            <summary>
            Parses the pattern into a chain of pattern converters.
            </summary>
            <returns>The head of a chain of pattern converters.</returns>
        </member>
        <member name="M:log4net.helpers.PatternParser.ExtractOption">
            <summary>
            Extracts the option from the pattern at the current index.
            </summary>
            <remarks>
            The option is the section of the pattern between '{' and '}'.
            </remarks>
            <returns>
            The option if the current index of the parse is at the start 
            of the option, otherwise <c>null</c>.
            </returns>
        </member>
        <member name="M:log4net.helpers.PatternParser.ExtractPrecisionOption">
            <summary>
            The option is expected to be in decimal and positive. In case of error, zero is returned.
            </summary>
            <returns>The option as a number.</returns>
        </member>
        <member name="M:log4net.helpers.PatternParser.FinalizeConverter(System.Char)">
            <summary>
            Internal method that works on a single option in the
            pattern
            </summary>
            <param name="c">The option specifier.</param>
        </member>
        <member name="M:log4net.helpers.PatternParser.AddConverter(log4net.helpers.PatternConverter)">
            <summary>
            Resets the internal state of the parser and adds the specified pattern converter 
            to the chain.
            </summary>
            <param name="pc">The pattern converter to add.</param>
        </member>
        <member name="M:log4net.helpers.PatternParser.AddToList(log4net.helpers.PatternConverter)">
            <summary>
            Adds a pattern converter to the chain.
            </summary>
            <param name="pc">The converter to add.</param>
        </member>
        <member name="F:log4net.helpers.PatternParser.m_currentLiteral">
            <summary>
            the literal being parsed
            </summary>
        </member>
        <member name="F:log4net.helpers.PatternParser.m_patternLength">
            <summary>
            the total length of the pattern
            </summary>
        </member>
        <member name="F:log4net.helpers.PatternParser.m_index">
            <summary>
            the current index into the pattern
            </summary>
        </member>
        <member name="F:log4net.helpers.PatternParser.m_head">
            <summary>
            The first pattern converter in the chain
            </summary>
        </member>
        <member name="F:log4net.helpers.PatternParser.m_tail">
            <summary>
             the last pattern converter in the chain
            </summary>
        </member>
        <member name="F:log4net.helpers.PatternParser.m_formattingInfo">
            <summary>
            the formatting info object
            </summary>
        </member>
        <member name="F:log4net.helpers.PatternParser.m_pattern">
            <summary>
            The pattern
            </summary>
        </member>
        <member name="T:log4net.helpers.PatternParser.BasicPatternConverter">
            <summary>
            Basic pattern converter
            </summary>
        </member>
        <member name="M:log4net.helpers.PatternParser.BasicPatternConverter.#ctor(log4net.helpers.FormattingInfo,System.Int32)">
            <summary>
            Construct the pattern converter with formatting info and type
            </summary>
            <param name="formattingInfo">the formatting info</param>
            <param name="type">the type of pattern</param>
        </member>
        <member name="M:log4net.helpers.PatternParser.BasicPatternConverter.Convert(log4net.spi.LoggingEvent)">
            <summary>
            To the conversion
            </summary>
            <param name="loggingEvent">the event being logged</param>
            <returns>the result of converting the pattern</returns>
        </member>
        <member name="M:log4net.helpers.PatternParser.BasicPatternConverter.TimeDifferenceInMillis(System.DateTime,System.DateTime)">
            <summary>
            Internal method to get the time difference between two DateTime objects
            </summary>
            <param name="start">start time</param>
            <param name="end">end time</param>
            <returns>the time difference in milliseconds</returns>
        </member>
        <member name="T:log4net.helpers.PatternParser.LiteralPatternConverter">
            <summary>
            Pattern converter for literal instances in the pattern
            </summary>
        </member>
        <member name="M:log4net.helpers.PatternParser.LiteralPatternConverter.#ctor(System.String)">
            <summary>
            Constructor, takes the literal string
            </summary>
            <param name="strValue"></param>
        </member>
        <member name="M:log4net.helpers.PatternParser.LiteralPatternConverter.Format(System.Text.StringBuilder,log4net.spi.LoggingEvent)">
            <summary>
            Override the formatting behaviour to ignore the FormattingInfo
            because we have a literal instead.
            </summary>
            <param name="buffer">the builder to write to</param>
            <param name="loggingEvent">the event being logged</param>
        </member>
        <member name="M:log4net.helpers.PatternParser.LiteralPatternConverter.Convert(log4net.spi.LoggingEvent)">
            <summary>
            Convert this pattern into the rendered message
            </summary>
            <param name="loggingEvent">the event being logged</param>
            <returns>the literal</returns>
        </member>
        <member name="T:log4net.helpers.PatternParser.MDCPatternConverter">
            <summary>
            Mapped Diagnostic pattern converter
            </summary>
        </member>
        <member name="M:log4net.helpers.PatternParser.MDCPatternConverter.#ctor(log4net.helpers.FormattingInfo,System.String)">
            <summary>
            Construct the pattern converter with formatting info and MDC key
            </summary>
            <param name="formattingInfo">the formatting info</param>
            <param name="key">the MDC key to emit</param>
        </member>
        <member name="M:log4net.helpers.PatternParser.MDCPatternConverter.Convert(log4net.spi.LoggingEvent)">
            <summary>
            To the conversion
            </summary>
            <param name="loggingEvent">the event being logged</param>
            <returns>the result of converting the pattern</returns>
        </member>
        <member name="T:log4net.helpers.PatternParser.PropertyPatternConverter">
            <summary>
            Property pattern converter
            </summary>
        </member>
        <member name="M:log4net.helpers.PatternParser.PropertyPatternConverter.#ctor(log4net.helpers.FormattingInfo,System.String)">
            <summary>
            Construct the pattern converter with formatting info and event property key
            </summary>
            <param name="formattingInfo">the formatting info</param>
            <param name="key">the property key to emit</param>
        </member>
        <member name="M:log4net.helpers.PatternParser.PropertyPatternConverter.Convert(log4net.spi.LoggingEvent)">
            <summary>
            To the conversion
            </summary>
            <param name="loggingEvent">the event being logged</param>
            <returns>the result of converting the pattern</returns>
        </member>
        <member name="T:log4net.helpers.PatternParser.DatePatternConverter">
            <summary>
            Date pattern converter, uses a <see cref="T:log4net.DateFormatter.IDateFormatter"/> to format the date
            </summary>
        </member>
        <member name="M:log4net.helpers.PatternParser.DatePatternConverter.#ctor(log4net.helpers.FormattingInfo,log4net.DateFormatter.IDateFormatter)">
            <summary>
            Construct the converter with formatting info and a
            <see cref="T:log4net.DateFormatter.IDateFormatter"/> to format the date
            </summary>
            <param name="formattingInfo">the formatting info</param>
            <param name="df">the date formatter</param>
        </member>
        <member name="M:log4net.helpers.PatternParser.DatePatternConverter.Convert(log4net.spi.LoggingEvent)">
            <summary>
            Convert the pattern into the rendered message
            </summary>
            <param name="loggingEvent">the event being logged</param>
            <returns></returns>
        </member>
        <member name="T:log4net.helpers.PatternParser.LocationPatternConverter">
            <summary>
            Converter to include event location information
            </summary>
        </member>
        <member name="M:log4net.helpers.PatternParser.LocationPatternConverter.#ctor(log4net.helpers.FormattingInfo,System.Int32)">
            <summary>
            Construct the converter with formatting information and
            the type of location information required.
            </summary>
            <param name="formattingInfo"></param>
            <param name="type"></param>
        </member>
        <member name="M:log4net.helpers.PatternParser.LocationPatternConverter.Convert(log4net.spi.LoggingEvent)">
            <summary>
            Convert the pattern to the rendered message
            </summary>
            <param name="loggingEvent">the event being logged</param>
            <returns>the relevant location information</returns>
        </member>
        <member name="T:log4net.helpers.PatternParser.NamedPatternConverter">
            <summary>
            Converter to deal with '.' separated strings
            </summary>
        </member>
        <member name="M:log4net.helpers.PatternParser.NamedPatternConverter.#ctor(log4net.helpers.FormattingInfo,System.Int32)">
            <summary>
            Construct a converter with formatting info and a precision
            argument. The precision is the number of '.' separated sections
            to return, starting from the end of the string and working 
            towards to the start.
            </summary>
            <param name="formattingInfo">the formatting info</param>
            <param name="precision">the precision</param>
        </member>
        <member name="M:log4net.helpers.PatternParser.NamedPatternConverter.GetFullyQualifiedName(log4net.spi.LoggingEvent)">
            <summary>
            Overridden by subclasses to get the fully qualified name before the
            precision is applied to it.
            </summary>
            <param name="loggingEvent">the event being logged</param>
            <returns>the fully qualified name</returns>
        </member>
        <member name="M:log4net.helpers.PatternParser.NamedPatternConverter.Convert(log4net.spi.LoggingEvent)">
            <summary>
            Convert the pattern to the rendered message
            </summary>
            <param name="loggingEvent">the event being logged</param>
            <returns>the precision of the fully qualified name specified</returns>
        </member>
        <member name="T:log4net.helpers.PatternParser.ClassNamePatternConverter">
            <summary>
            Pattern converter for the class name
            </summary>
        </member>
        <member name="M:log4net.helpers.PatternParser.ClassNamePatternConverter.#ctor(log4net.helpers.FormattingInfo,System.Int32)">
            <summary>
            Constructor
            </summary>
            <param name="formattingInfo">formatting info</param>
            <param name="precision">namespace depth precision</param>
        </member>
        <member name="M:log4net.helpers.PatternParser.ClassNamePatternConverter.GetFullyQualifiedName(log4net.spi.LoggingEvent)">
            <summary>
            Gets the fully qualified name of the class
            </summary>
            <param name="loggingEvent">the event being logged</param>
            <returns>the class name</returns>
        </member>
        <member name="T:log4net.helpers.PatternParser.LoggerPatternConverter">
            <summary>
            Converter for logger name
            </summary>
        </member>
        <member name="M:log4net.helpers.PatternParser.LoggerPatternConverter.#ctor(log4net.helpers.FormattingInfo,System.Int32)">
            <summary>
            Constructor
            </summary>
            <param name="formattingInfo">formatting info</param>
            <param name="precision">logger hierarchy depth precision</param>
        </member>
        <member name="M:log4net.helpers.PatternParser.LoggerPatternConverter.GetFullyQualifiedName(log4net.spi.LoggingEvent)">
            <summary>
            Gets the fully qualified name of the logger
            </summary>
            <param name="loggingEvent">the event being logged</param>
            <returns>the logger name</returns>
        </member>
        <member name="T:log4net.helpers.PropertiesCollection">
            <summary>
            String keyed object map.
            </summary>
            <remarks>
            Only member objects that are serializable will
            be serialized allong with this collection.
            </remarks>
        </member>
        <member name="M:log4net.helpers.PropertiesCollection.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.helpers.PropertiesCollection"/> class.
            </summary>
        </member>
        <member name="M:log4net.helpers.PropertiesCollection.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.helpers.PropertiesCollection"/> class 
            with serialized data.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
            <remarks>
            Because this class is sealed the serialization constructor is private.
            </remarks>
        </member>
        <member name="M:log4net.helpers.PropertiesCollection.GetKeys">
            <summary>
            Gets the key names.
            </summary>
            <value>An array of key names.</value>
            <returns>An array of all the keys.</returns>
        </member>
        <member name="M:log4net.helpers.PropertiesCollection.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Serializes this object into the <see cref="T:System.Runtime.Serialization.SerializationInfo"/> provided.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> to populate with data.</param>
            <param name="context">The destination for this serialization.</param>
        </member>
        <member name="P:log4net.helpers.PropertiesCollection.Item(System.String)">
            <summary>
            Gets or sets the value of the  property with the specified key.
            </summary>
            <value>
            The value of the property with the specified key.
            </value>
            <param name="key">The key of the property to get or set.</param>
            <remarks>
            The property value will only be serialized if it is serializable.
            If it cannot be serialized it will be silently ignored if
            a serialization operation is performed.
            </remarks>
        </member>
        <member name="T:log4net.helpers.SystemInfo">
            <summary>
            Utility class for system specific information.
            </summary>
        </member>
        <member name="M:log4net.helpers.SystemInfo.#ctor">
            <summary>
            Private constructor to prevent instances.
            </summary>
        </member>
        <member name="M:log4net.helpers.SystemInfo.AssemblyLocationInfo(System.Reflection.Assembly)">
            <summary>
            Gets the assembly location path for the specified assembly.
            </summary>
            <param name="myAssembly">The assembly to get the location for.</param>
            <remarks>
            This method does not guarantee to return the correct path
            to the assembly. If only tries to give an indication as to
            where the assembly was loaded from.
            </remarks>
            <returns>The location of the assembly.</returns>
        </member>
        <member name="M:log4net.helpers.SystemInfo.AssemblyQualifiedName(System.Type)">
            <summary>
            Gets the fully qualified name of the <see cref="T:System.Type"/>, including 
            the name of the assembly from which the <see cref="T:System.Type"/> was 
            loaded.
            </summary>
            <param name="type">The <see cref="T:System.Type"/> to get the fully qualified name for.</param>
            <remarks>
            This is equivalent to the <c>Type.AssemblyQualifiedName</c> property,
            but this method works on the .NET Compact Framework 1.0 as well as
            the full .NET runtime.
            </remarks>
            <returns>The fully qualified name for the <see cref="T:System.Type"/>.</returns>
        </member>
        <member name="M:log4net.helpers.SystemInfo.AssemblyShortName(System.Reflection.Assembly)">
            <summary>
            Gets the short name of the <see cref="T:System.Reflection.Assembly"/>.
            </summary>
            <param name="myAssembly">The <see cref="T:System.Reflection.Assembly"/> to get the name for.</param>
            <remarks>
            <para>
            The short name of the assembly is the <see cref="P:System.Reflection.Assembly.FullName"/> 
            without the version, culture, or public key. i.e. it is just the 
            assembly's file name without the extension.
            </para>
            <para>
            Use this rather than Assembly.GetName().Name because that
            is not available on the Compact Framework.
            </para>
            <para>
            Because of a FileIOPermission security demand we cannot do
            the obvious Assembly.GetName().Name. We are allowed to get
            the <see cref="P:System.Reflection.Assembly.FullName"/> of the assembly so we 
            start from there and strip out just the assembly name.
            </para>
            </remarks>
            <returns>The short name of the <see cref="T:System.Reflection.Assembly"/>.</returns>
        </member>
        <member name="M:log4net.helpers.SystemInfo.AssemblyFileName(System.Reflection.Assembly)">
            <summary>
            Gets the file name portion of the <see cref="T:System.Reflection.Assembly"/>, including 
            the extension.
            </summary>
            <param name="myAssembly">The <see cref="T:System.Reflection.Assembly"/> to get the file name for.</param>
            <returns>The file name of the assembly.</returns>
        </member>
        <member name="M:log4net.helpers.SystemInfo.GetTypeFromString(System.Type,System.String,System.Boolean,System.Boolean)">
            <summary>
            Loads the type specified in the type string.
            </summary>
            <param name="relativeType">A sibling type to use to load the type.</param>
            <param name="typeName">The name of the type to load.</param>
            <param name="throwOnError">Flag set to <c>true</c> to throw an exception if the type cannot be loaded.</param>
            <param name="ignoreCase"><c>true</c> to ignore the case of the type name; otherwise, <c>false</c></param>
            <remarks>
            <para>
            If the type name is fully qualified, i.e. if contains an assembly name in 
            the type name, the type will be loaded from the system using 
            <see cref="M:System.Type.GetType(System.String,System.Boolean)"/>.
            </para>
            <para>
            If the type name is not fully qualified, it will be loaded from the assembly
            containing the specified relative type.
            </para>
            </remarks>
            <returns>The type loaded or <c>null</c> if it could not be loaded.</returns>
        </member>
        <member name="M:log4net.helpers.SystemInfo.GetTypeFromString(System.String,System.Boolean,System.Boolean)">
            <summary>
            Loads the type specified in the type string.
            </summary>
            <param name="typeName">The name of the type to load.</param>
            <param name="throwOnError">Flag set to <c>true</c> to throw an exception if the type cannot be loaded.</param>
            <param name="ignoreCase"><c>true</c> to ignore the case of the type name; otherwise, <c>false</c></param>
            <remarks>
            <para>
            If the type name is fully qualified, i.e. if contains an assembly name in 
            the type name, the type will be loaded from the system using 
            <see cref="M:System.Type.GetType(System.String,System.Boolean)"/>.
            </para>
            <para>
            If the type name is not fully qualified it will be loaded from the
            assembly that is directly calling this method.
            </para>
            </remarks>
            <returns>The type loaded or <c>null</c> if it could not be loaded.</returns>		
        </member>
        <member name="M:log4net.helpers.SystemInfo.GetTypeFromString(System.Reflection.Assembly,System.String,System.Boolean,System.Boolean)">
            <summary>
            Loads the type specified in the type string.
            </summary>
            <param name="relativeAssembly">An assembly to load the type from.</param>
            <param name="typeName">The name of the type to load.</param>
            <param name="throwOnError">Flag set to <c>true</c> to throw an exception if the type cannot be loaded.</param>
            <param name="ignoreCase"><c>true</c> to ignore the case of the type name; otherwise, <c>false</c></param>
            <remarks>
            <para>
            If the type name is fully qualified, i.e. if contains an assembly name in 
            the type name, the type will be loaded from the system using 
            <see cref="M:System.Type.GetType(System.String,System.Boolean)"/>.
            </para>
            <para>
            If the type name is not fully qualified it will be loaded from the specified
            assembly.
            </para>
            </remarks>
            <returns>The type loaded or <c>null</c> if it could not be loaded.</returns>
        </member>
        <member name="M:log4net.helpers.SystemInfo.NewGuid">
            <summary>
            Generate a new guid
            </summary>
            <returns>A new Guid</returns>
        </member>
        <member name="F:log4net.helpers.SystemInfo.EmptyTypes">
            <summary>
            Gets an empty array of types.
            </summary>
            <remarks>
            The <c>Type.EmptyTypes</c> field is not available on
            the .NET Compact Framework 1.0.
            </remarks>
        </member>
        <member name="F:log4net.helpers.SystemInfo.s_hostName">
            <summary>
            Cache the host name for the current machine
            </summary>
        </member>
        <member name="F:log4net.helpers.SystemInfo.s_appFriendlyName">
            <summary>
            Cache the application friendly name
            </summary>
        </member>
        <member name="P:log4net.helpers.SystemInfo.NewLine">
            <summary>
            Gets the system dependent line terminator.
            </summary>
            <value>
            The system dependent line terminator.
            </value>
        </member>
        <member name="P:log4net.helpers.SystemInfo.ApplicationBaseDirectory">
            <summary>
            Gets the base directory for this <see cref="T:System.AppDomain"/>.
            </summary>
            <value>The base directory path for the current <see cref="T:System.AppDomain"/>.</value>
        </member>
        <member name="P:log4net.helpers.SystemInfo.ConfigurationFileLocation">
            <summary>
            Gets the path to the configuration file for the current <see cref="T:System.AppDomain"/>.
            </summary>
            <value>The path to the configuration file for the current <see cref="T:System.AppDomain"/>.</value>
            <remarks>
            The .NET Compact Framework 1.0 does not have a concept of a configuration
            file. For this runtime, we use the entry assembly location as the root for
            the configuration file name.
            </remarks>
        </member>
        <member name="P:log4net.helpers.SystemInfo.EntryAssemblyLocation">
            <summary>
            Gets the path to the file that first executed in the current <see cref="T:System.AppDomain"/>.
            </summary>
            <value>The path to the entry assembly.</value>
        </member>
        <member name="P:log4net.helpers.SystemInfo.CurrentThreadId">
            <summary>
            Gets the ID of the current thread.
            </summary>
            <value>The ID of the current thread.</value>
            <remarks>
            <para>
            On the .NET framework, the <c>AppDomain.GetCurrentThreadId</c> method
            is used to obtain the thread ID for the current thread. This is the 
            operating system ID for the thread.
            </para>
            <para>
            On the .NET Compact Framework 1.0 it is not possible to get the 
            operating system thread ID for the current thread. The native method 
            <c>GetCurrentThreadId</c> is implemented inline in a header file
            and cannot be called.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.helpers.SystemInfo.HostName">
            <summary>
            Get the host name or machine name for the current machine
            </summary>
            <value>
            The host name (<see cref="M:System.Net.Dns.GetHostName"/>) or
            the machine name (<c>Environment.MachineName</c>) for
            the current machine, or if neither of these are available
            then <c>NOT AVAILABLE</c> is returned.
            </value>
        </member>
        <member name="P:log4net.helpers.SystemInfo.ApplicationFriendlyName">
            <summary>
            Get this application's friendly name
            </summary>
            <value>
            The friendly name of this application as a string
            </value>
            <remarks>
            <para>
            If available the name of the application is retrieved from
            the <c>AppDomain</c> using <c>AppDomain.CurrentDomain.FriendlyName</c>.
            </para>
            <para>Otherwise the file name of the entry assembly is used.</para>
            </remarks>
        </member>
        <member name="T:log4net.helpers.Transform">
            <summary>
            Utility class for transforming strings.
            </summary>
        </member>
        <member name="M:log4net.helpers.Transform.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.helpers.Transform"/> class. 
            </summary>
            <remarks>
            Uses a private access modifier to prevent instantiation of this class.
            </remarks>
        </member>
        <member name="M:log4net.helpers.Transform.WriteEscapedXmlString(System.Xml.XmlWriter,System.String)">
            <summary>
            Write a string to an XmlWriter
            </summary>
            <param name="writer">the writer to write to</param>
            <param name="text">the string to write</param>
            <remarks>
            The test is escaped either using XML escape entities
            or using CDATA sections.
            </remarks>
        </member>
        <member name="M:log4net.helpers.Transform.CountSubstrings(System.String,System.String)">
            <summary>
            Count the number of times that the substring occurs in the text
            </summary>
            <param name="text">the text to search</param>
            <param name="substring">the substring to find</param>
            <returns>the nunmber of times the substring occurs in the text</returns>
            <remarks>
            The substring is assumed to be non repeating within itself.
            </remarks>
        </member>
        <member name="T:log4net.Layout.ExceptionLayout">
            <summary>
            A Layout that renders only the Exception text from the logging event
            </summary>
            <remarks>
            <para>A Layout that renders only the Exception text from the logging event</para>
            <para>This Layout should only be used with appenders that utilise multiple
            layouts (e.g. <see cref="T:log4net.Appender.ADONetAppender"/>).</para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.LayoutSkeleton">
            <summary>
            Extend this abstract class to create your own log layout format.
            </summary>
            <remarks>
            <para>This is the base implementation of the <see cref="T:log4net.Layout.ILayout"/>
            interface. Most layout objects should extend this class.</para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.ILayout">
            <summary>
            Interface implemented by layout objects
            </summary>
            <remarks>
            <para>An <see cref="T:log4net.Layout.ILayout"/> object is used to format a <see cref="T:log4net.spi.LoggingEvent"/>
            as a string. The <see cref="M:log4net.Layout.ILayout.Format(log4net.spi.LoggingEvent)"/> method is called by an
            appender to transform the <see cref="T:log4net.spi.LoggingEvent"/> into a string.</para>
            
            <para>The layout can also supply <see cref="P:log4net.Layout.ILayout.Header"/> and <see cref="P:log4net.Layout.ILayout.Footer"/>
            text that is appender before any events and after all the events respectively.</para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.ILayout.Format(log4net.spi.LoggingEvent)">
            <summary>
            Implement this method to create your own layout format.
            </summary>
            <param name="loggingEvent">The event to format</param>
            <returns>returns the formatted event</returns>
            <remarks>
            <para>This method is called by an appender to format
            the <paramref name="loggingEvent"/> as a string.</para>
            </remarks>
        </member>
        <member name="P:log4net.Layout.ILayout.ContentType">
            <summary>
            The content type output by this layout. 
            </summary>
            <value>The content type</value>
            <remarks>
            <para>The content type output by this layout.</para>
            <para>This is a MIME type e.g. <c>"text/plain"</c>.</para>
            </remarks>
        </member>
        <member name="P:log4net.Layout.ILayout.Header">
            <summary>
            The header for the layout format.
            </summary>
            <value>the layout header</value>
            <remarks>
            <para>The Header text will be appended before any logging events
            are formatted and appended.</para>
            </remarks>
        </member>
        <member name="P:log4net.Layout.ILayout.Footer">
            <summary>
            The footer for the layout format.
            </summary>
            <value>the layout footer</value>
            <remarks>
            <para>The Footer text will be appended after all the logging events
            have been formatted and appended.</para>
            </remarks>
        </member>
        <member name="P:log4net.Layout.ILayout.IgnoresException">
            <summary>
            Flag indicating if this layout handle exceptions
            </summary>
            <value><c>false</c> if this layout handles exceptions</value>
            <remarks>
            <para>If this layout handles the exception object contained within
            <see cref="T:log4net.spi.LoggingEvent"/>, then the layout should return
            <c>false</c>. Otherwise, if the layout ignores the exception
            object, then the layout should return <c>true</c>.</para>
            </remarks>
        </member>
        <member name="F:log4net.Layout.LayoutSkeleton.m_header">
            <summary>
            The header text
            </summary>
            <remarks>
            <para>See <see cref="P:log4net.Layout.LayoutSkeleton.Header"/> for more information.</para>
            </remarks>
        </member>
        <member name="F:log4net.Layout.LayoutSkeleton.m_footer">
            <summary>
            The footer text
            </summary>
            <remarks>
            <para>See <see cref="P:log4net.Layout.LayoutSkeleton.Footer"/> for more information.</para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.LayoutSkeleton.#ctor">
            <summary>
            Empty default constructor
            </summary>
            <remarks>
            Empty default constructor
            </remarks>
        </member>
        <member name="M:log4net.Layout.LayoutSkeleton.ActivateOptions">
            <summary>
            Activate the options that were previously set with calls to option setters.
            </summary>
            <remarks>
            <para>This allows deferred activation of the options once all
            options have been set. This is required for components which have
            related options that remain ambiguous until all are set.</para>
            
            <para>This method must be implemented by the subclass.</para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.LayoutSkeleton.Format(log4net.spi.LoggingEvent)">
            <summary>
            Implement this method to create your own layout format.
            </summary>
            <param name="loggingEvent">The event to format</param>
            <returns>returns the formatted event</returns>
            <remarks>
            <para>This method is called by an appender to format
            the <paramref name="loggingEvent"/> as a string.</para>
            
            <para>This method must be implemented by the subclass.</para>
            </remarks>
        </member>
        <member name="P:log4net.Layout.LayoutSkeleton.ContentType">
            <summary>
            The content type output by this layout. 
            </summary>
            <value>The content type is <c>"text/plain"</c></value>
            <remarks>
            <para>The content type output by this layout.</para>
            <para>This base class uses the value <c>"text/plain"</c>.
            To change this value a subclass must override this
            property.</para>
            </remarks>
        </member>
        <member name="P:log4net.Layout.LayoutSkeleton.Header">
            <summary>
            The header for the layout format.
            </summary>
            <value>the layout header</value>
            <remarks>
            <para>The Header text will be appended before any logging events
            are formatted and appended.</para>
            </remarks>
        </member>
        <member name="P:log4net.Layout.LayoutSkeleton.Footer">
            <summary>
            The footer for the layout format.
            </summary>
            <value>the layout footer</value>
            <remarks>
            <para>The Footer text will be appended after all the logging events
            have been formatted and appended.</para>
            </remarks>
        </member>
        <member name="P:log4net.Layout.LayoutSkeleton.IgnoresException">
            <summary>
            Flag indicating if this layout handle exceptions
            </summary>
            <value><c>false</c> if this layout handles exceptions</value>
            <remarks>
            <para>If this layout handles the exception object contained within
            <see cref="T:log4net.spi.LoggingEvent"/>, then the layout should return
            <c>false</c>. Otherwise, if the layout ignores the exception
            object, then the layout should return <c>true</c>.</para>
            
            <para>This method must be implemented by the subclass.</para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.ExceptionLayout.#ctor">
            <summary>
            Constructs a ExceptionLayout
            </summary>
            <remarks>
            </remarks>
        </member>
        <member name="M:log4net.Layout.ExceptionLayout.ActivateOptions">
            <summary>
            Does not do anything as options become effective immediately.
            </summary>
        </member>
        <member name="M:log4net.Layout.ExceptionLayout.Format(log4net.spi.LoggingEvent)">
            <summary>
            Gets the exception text from the logging event
            </summary>
            <param name="loggingEvent">the event being logged</param>
            <returns>the formatted string</returns>
        </member>
        <member name="P:log4net.Layout.ExceptionLayout.IgnoresException">
            <summary>
            The ExceptionLayout only handles the exception. Thus, it returns <c>false</c>.
            </summary>
            <value>
            The ExceptionLayout only handles the exception. Thus, it returns <c>false</c>.
            </value>
            <remarks>
            The ExceptionLayout only handles the exception. Thus, it returns <c>false</c>.
            </remarks>
        </member>
        <member name="T:log4net.Layout.IRawLayout">
            <summary>
            Interface for raw layout objects
            </summary>
            <remarks>
            <para>Interface used to format a <see cref="T:log4net.spi.LoggingEvent"/>
            to an object.</para>
            
            <para>This interface should not be confused with the
            <see cref="T:log4net.Layout.ILayout"/> interface. This interface is used in
            only certain specialised situations where a raw object is
            required rather than a formatted string. The <see cref="T:log4net.Layout.ILayout"/>
            is not generally usefull than this interface.</para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.IRawLayout.Format(log4net.spi.LoggingEvent)">
            <summary>
            Implement this method to create your own layout format.
            </summary>
            <param name="loggingEvent">The event to format</param>
            <returns>returns the formatted event</returns>
            <remarks>
            <para>Implement this method to create your own layout format.</para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.Layout2RawLayoutAdapter">
            <summary>
            Interface for raw layout objects
            </summary>
            <remarks>
            <para>Interface used to format a <see cref="T:log4net.spi.LoggingEvent"/>
            to an object.</para>
            
            <para>This interface should not be confused with the
            <see cref="T:log4net.Layout.ILayout"/> interface. This interface is used in
            only certain specialised situations where a raw object is
            required rather than a formatted string. The <see cref="T:log4net.Layout.ILayout"/>
            is not generally usefull than this interface.</para>
            </remarks>
        </member>
        <member name="F:log4net.Layout.Layout2RawLayoutAdapter.m_layout">
            <summary>
            The layout to adapt
            </summary>
        </member>
        <member name="M:log4net.Layout.Layout2RawLayoutAdapter.#ctor(log4net.Layout.ILayout)">
            <summary>
            Construst a new adapter
            </summary>
            <param name="layout">the layout to adapt</param>
        </member>
        <member name="M:log4net.Layout.Layout2RawLayoutAdapter.Format(log4net.spi.LoggingEvent)">
            <summary>
            Format the logging event as an object.
            </summary>
            <param name="loggingEvent">The event to format</param>
            <returns>returns the formatted event</returns>
            <remarks>
            <para>Format the logging event as an object.</para>
            <para>Uses the <see cref="T:log4net.Layout.ILayout"/> object supplied to 
            the constructor to perform the formatting.</para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.PatternLayout">
            <summary>
            A flexible layout configurable with pattern string.
            </summary>
            <remarks>
            <para>
            The goal of this class is to <see cref="M:log4net.Layout.PatternLayout.Format(log4net.spi.LoggingEvent)"/> a 
            <see cref="T:log4net.spi.LoggingEvent"/> and return the results as a string. The results
            depend on the <i>conversion pattern</i>.
            </para>
            <para>
            The conversion pattern is closely related to the conversion
            pattern of the printf function in C. A conversion pattern is
            composed of literal text and format control expressions called
            <i>conversion specifiers</i>.
            </para>
            <para>
            <i>You are free to insert any literal text within the conversion
            pattern.</i>
            </para>
            <para>
            Each conversion specifier starts with a percent sign (%) and is
            followed by optional <i>format modifiers</i> and a <i>conversion
            character</i>. The conversion character specifies the type of
            data, e.g. logger, level, date, thread name. The format
            modifiers control such things as field width, padding, left and
            right justification. The following is a simple example.
            </para>
            <para>
            Let the conversion pattern be <b>"%-5p [%t]: %m%n"</b> and assume
            that the log4net environment was set to use a PatternLayout. Then the
            statements
            </para>
            <code>
            ILog log = LogManager.GetLogger(typeof(TestApp));
            log.Debug("Message 1");
            log.Warn("Message 2");   
            </code>
            <para>would yield the output</para>
            <code>
            DEBUG [main]: Message 1
            WARN  [main]: Message 2  
            </code>
            <para>
            Note that there is no explicit separator between text and
            conversion specifiers. The pattern parser knows when it has reached
            the end of a conversion specifier when it reads a conversion
            character. In the example above the conversion specifier
            <b>%-5p</b> means the level of the logging event should be left
            justified to a width of five characters.
            </para>
            <para>
            The recognized conversion characters are :
            </para>
            <list type="table">
                <listheader>
                    <term>Conversion Character</term>
                    <description>Effect</description>
                </listheader>
                <item>
                    <term>a</term>
                    <description>
            			Used to output the frienly name of the AppDomain where the 
            			logging event was generated. 
                    </description>
                </item>
                <item>
                    <term>c</term>
                    <description>
                        <para>
            			Used to output the logger of the logging event. The
            			logger conversion specifier can be optionally followed by
            			<i>precision specifier</i>, that is a decimal constant in
            			brackets.
                        </para>
            			<para>
            			If a precision specifier is given, then only the corresponding
            			number of right most components of the logger name will be
            			printed. By default the logger name is printed in full.
            			</para>
            			<para>
            			For example, for the logger name "a.b.c" the pattern
            			<b>%c{2}</b> will output "b.c".
            			</para>
                    </description>
                </item>
                <item>
            		<term>C</term> 
            		<description>
            			<para>
            			Used to output the fully qualified class name of the caller
            			issuing the logging request. This conversion specifier
            			can be optionally followed by <i>precision specifier</i>, that
            			is a decimal constant in brackets.
            			</para>
            			<para>
            			If a precision specifier is given, then only the corresponding
            			number of right most components of the class name will be
            			printed. By default the class name is output in fully qualified form.
            			</para>
            			<para>
            			For example, for the class name "log4net.Layout.PatternLayout", the
            			pattern <b>%C{1}</b> will output "PatternLayout".
            			</para>
            			<para>
            			<b>WARNING</b> Generating the caller class information is
            			slow. Thus, it's use should be avoided unless execution speed is
            			not an issue.
            			</para>
            		</description>
                </item>
                <item>
            		<term>d</term> 
            		<description>
            			<para>
            			Used to output the date of the logging event. The date conversion 
            			specifier may be followed by a <i>date format specifier</i> enclosed 
            			between braces. For example, <b>%d{HH:mm:ss,fff}</b> or
            			<b>%d{dd MMM yyyy HH:mm:ss,fff}</b>.  If no date format specifier is 
            			given then ISO8601 format is
            			assumed (<see cref="T:log4net.DateFormatter.ISO8601DateFormatter"/>).
            			</para>
            			<para>
            			The date format specifier admits the same syntax as the
            			time pattern string of the <see cref="M:System.DateTime.ToString"/>.
            			</para>
            			<para>
            			For better results it is recommended to use the log4net date
            			formatters. These can be specified using one of the strings
            			"ABSOLUTE", "DATE" and "ISO8601" for specifying 
            			<see cref="T:log4net.DateFormatter.AbsoluteTimeDateFormatter"/>, 
            			<see cref="T:log4net.DateFormatter.DateTimeDateFormatter"/> and respectively 
            			<see cref="T:log4net.DateFormatter.ISO8601DateFormatter"/>. For example, 
            			<b>%d{ISO8601}</b> or <b>%d{ABSOLUTE}</b>.
            			</para>
            			<para>
            			These dedicated date formatters perform significantly
            			better than <see cref="M:System.DateTime.ToString(System.String)"/>.
            			</para>
            		</description>
            	</item>
            	<item>
            		<term>F</term>
            		<description>
            			<para>
            			Used to output the file name where the logging request was
            			issued.
            			</para>
            			<para>
            			<b>WARNING</b> Generating caller location information is
            			extremely slow. It's use should be avoided unless execution speed
            			is not an issue.
            			</para>
            		</description>
            	</item>
            	<item>
            		<term>l</term>
            		<description>
            			<para>
            			Used to output location information of the caller which generated
            			the logging event.
            			</para>
            			<para>
            			The location information depends on the CLI implementation but
            			usually consists of the fully qualified name of the calling
            			method followed by the callers source the file name and line
            			number between parentheses.
            			</para>
            			<para>
            			The location information can be very useful. However, it's
            			generation is <b>extremely</b> slow. It's use should be avoided
            			unless execution speed is not an issue.
            			</para>
            		</description>
            	</item>
            	<item>
            		<term>L</term>
            		<description>
            			<para>
            			Used to output the line number from where the logging request
            			was issued.
            			</para>
            			<para>
            			<b>WARNING</b> Generating caller location information is
            			extremely slow. It's use should be avoided unless execution speed
            			is not an issue.
            			</para>
            		</description>
            	</item>
            	<item>
            		<term>m</term>
            		<description>
            			<para>
            			Used to output the application supplied message associated with 
            			the logging event.
            			</para>
            		</description>
            	</item>
            	<item>
            		<term>M</term>
            		<description>
            			<para>
            			Used to output the method name where the logging request was
            			issued.
            			</para>
            			<para>
            			<b>WARNING</b> Generating caller location information is
            			extremely slow. It's use should be avoided unless execution speed
            			is not an issue.
            			</para>
            		</description>
            	</item>
            	<item>
            		<term>n</term>
            		<description>
            			<para>
            			Outputs the platform dependent line separator character or
            			characters.
            			</para>
            			<para>
            			This conversion character offers practically the same
            			performance as using non-portable line separator strings such as
            			"\n", or "\r\n". Thus, it is the preferred way of specifying a
            			line separator.
            			</para> 
            		</description>
            	</item>
            	<item>
            		<term>p</term>
            		<description>
            			<para>
            			Used to output the level of the logging event.
            			</para>
            		</description>
            	</item>
            	<item>
            		<term>P</term>
            		<description>
            			<para>
            			Used to output the an event specific property. The key to 
            			lookup must be specified within braces and directly following the
            			pattern specifier, e.g. <c>%X{user}</c> would include the value
            			from the property that is keyed by the string 'user'. Each property value
            			that is to be included in the log must be specified separately.
            			Properties are added to events by loggers or appenders. By default
            			no properties are defined.
            			</para>
            		</description>
            	</item>
            	<item>
            		<term>r</term>
            		<description>
            			<para>
            			Used to output the number of milliseconds elapsed since the start
            			of the application until the creation of the logging event.
            			</para>
            		</description>
            	</item>
            	<item>
            		<term>t</term>
            		<description>
            			<para>
            			Used to output the name of the thread that generated the
            			logging event. Uses the thread number if no name is available.
            			</para>
            		</description>
            	</item>
            	<item>
            		<term>u</term>
            		<description>
            			<para>
            			Used to output the user name for the currently active user
            			(Principal.Identity.Name).
            			</para>
            			<para>
            			<b>WARNING</b> Generating caller information is
            			extremely slow. It's use should be avoided unless execution speed
            			is not an issue.
            			</para>
            		</description>
            	</item>
            	<item>
            		<term>W</term>
            		<description>
            			<para>
            			Used to output the WindowsIdentity for the currently
            			active user.
            			</para>
            			<para>
            			<b>WARNING</b> Generating caller WindowsIdentity information is
            			extremely slow. It's use should be avoided unless execution speed
            			is not an issue.
            			</para>
            		</description>
            	</item>
            	<item>
            		<term>x</term>
            		<description>
            			<para>
            			Used to output the NDC (nested diagnostic context) associated
            			with the thread that generated the logging event.
            			</para>
            		</description>
            	</item>
            	<item>
            		<term>X</term>
            		<description>
            			<para>
            			Used to output the MDC (mapped diagnostic context) associated
            			with the thread that generated the logging event. The key to lookup
            			must be specified within braces and directly following the
            			pattern specifier, e.g. <c>%X{user}</c> would include the value
            			from the MDC that is keyed by the string 'user'. Each MDC value
            			that is to be included in the log must be specified separately.
            			</para>
            		</description>
            	</item>
            	<item>
            		<term>%</term>
            		<description>
            			<para>
            			The sequence %% outputs a single percent sign.
            			</para>
            		</description>
            	</item>
            </list>
            <para>
            By default the relevant information is output as is. However,
            with the aid of format modifiers it is possible to change the
            minimum field width, the maximum field width and justification.
            </para>
            <para>
            The optional format modifier is placed between the percent sign
            and the conversion character.
            </para>
            <para>
            The first optional format modifier is the <i>left justification
            flag</i> which is just the minus (-) character. Then comes the
            optional <i>minimum field width</i> modifier. This is a decimal
            constant that represents the minimum number of characters to
            output. If the data item requires fewer characters, it is padded on
            either the left or the right until the minimum width is
            reached. The default is to pad on the left (right justify) but you
            can specify right padding with the left justification flag. The
            padding character is space. If the data item is larger than the
            minimum field width, the field is expanded to accommodate the
            data. The value is never truncated.
            </para>
            <para>
            This behaviour can be changed using the <i>maximum field
            width</i> modifier which is designated by a period followed by a
            decimal constant. If the data item is longer than the maximum
            field, then the extra characters are removed from the
            <i>beginning</i> of the data item and not from the end. For
            example, it the maximum field width is eight and the data item is
            ten characters long, then the first two characters of the data item
            are dropped. This behaviour deviates from the printf function in C
            where truncation is done from the end.
            </para>
            <para>
            Below are various format modifier examples for the logger
            conversion specifier.
            </para>
            <div class="tablediv">
            	<table class="dtTABLE" cellspacing="0">
            		<tr>
            			<th>Format modifier</th>
            			<th>left justify</th>
            			<th>minimum width</th>
            			<th>maximum width</th>
            			<th>comment</th>
            		</tr>
            		<tr>
            			<td align="center">%20c</td>
            			<td align="center">false</td>
            			<td align="center">20</td>
            			<td align="center">none</td>
            			<td>
            				<para>
            				Left pad with spaces if the logger name is less than 20
            				characters long.
            				</para>
            			</td>
            		</tr>
            		<tr>
            			<td align="center">%-20c</td>
            			<td align="center">true</td>
            			<td align="center">20</td>
            			<td align="center">none</td>
            			<td>
            				<para>
            				Right pad with spaces if the logger 
            				name is less than 20 characters long.
            				</para>
            			</td>
            		</tr>
            		<tr>
            			<td align="center">%.30c</td>
            			<td align="center">NA</td>
            			<td align="center">none</td>
            			<td align="center">30</td>
            			<td>
            				<para>
            				Truncate from the beginning if the logger 
            				name is longer than 30 characters.
            				</para>
            			</td>
            		</tr>
            		<tr>
            			<td align="center">%20.30c</td>
            			<td align="center">false</td>
            			<td align="center">20</td>
            			<td align="center">30</td>
            			<td>
            				<para>
            				Left pad with spaces if the logger name is shorter than 20
            				characters. However, if logger name is longer than 30 characters,
            				then truncate from the beginning.
            				</para>
            			</td>
            		</tr>
            		<tr>
            			<td align="center">%-20.30c</td>
            			<td align="center">true</td>
            			<td align="center">20</td>
            			<td align="center">30</td>
            			<td>
            				<para>
            				Right pad with spaces if the logger name is shorter than 20
            				characters. However, if logger name is longer than 30 characters,
            				then truncate from the beginning.
            				</para>
            			</td>
            		</tr>
            	</table>
            </div>
            </remarks>
            <example>
            This is essentially the TTCC layout
            <code><b>%r [%t] %-5p %c %x - %m\n</b></code>
            </example>
            <example>
            Similar to the TTCC layout except that the relative time is
            right padded if less than 6 digits, thread name is right padded if
            less than 15 characters and truncated if longer and the logger
            name is left padded if shorter than 30 characters and truncated if
            longer.
            <code><b>%-6r [%15.15t] %-5p %30.30c %x - %m\n</b></code>
            </example>
        </member>
        <member name="F:log4net.Layout.PatternLayout.DEFAULT_CONVERSION_PATTERN">
            <summary>
            Default pattern string for log output. 
            Currently set to the string <b>"%m%n"</b> 
            which just prints the application supplied	message. 
            </summary>
        </member>
        <member name="F:log4net.Layout.PatternLayout.TTCC_CONVERSION_PATTERN">
            <summary>
            A conversion pattern equivalent to the TTCCLayout. Current value is <b>%r [%t] %p %c %x - %m%n</b>.
            </summary>
        </member>
        <member name="F:log4net.Layout.PatternLayout.BUF_SIZE">
            <summary>
            Initial buffer size
            </summary>
        </member>
        <member name="F:log4net.Layout.PatternLayout.MAX_CAPACITY">
            <summary>
            Maximum buffer size before it is recycled
            </summary>
        </member>
        <member name="F:log4net.Layout.PatternLayout.m_sbuf">
            <summary>
            output buffer appended to when Format() is invoked
            </summary>
        </member>
        <member name="F:log4net.Layout.PatternLayout.m_pattern">
            <summary>
            the pattern
            </summary>
        </member>
        <member name="F:log4net.Layout.PatternLayout.m_head">
            <summary>
            the head of the pattern converter chain
            </summary>
        </member>
        <member name="M:log4net.Layout.PatternLayout.#ctor">
            <summary>
            Constructs a PatternLayout using the DEFAULT_LAYOUT_PATTERN
            </summary>
            <remarks>
            The default pattern just produces the application supplied message.
            </remarks>
        </member>
        <member name="M:log4net.Layout.PatternLayout.#ctor(System.String)">
            <summary>
            Constructs a PatternLayout using the supplied conversion pattern
            </summary>
            <param name="pattern">the pattern to use</param>
        </member>
        <member name="M:log4net.Layout.PatternLayout.CreatePatternParser(System.String)">
            <summary>
            Returns PatternParser used to parse the conversion string. Subclasses
            may override this to return a subclass of PatternParser which recognize
            custom conversion characters.
            </summary>
            <param name="pattern">the pattern to parse</param>
            <returns></returns>
        </member>
        <member name="M:log4net.Layout.PatternLayout.ActivateOptions">
            <summary>
            Does not do anything as options become effective immediately.
            </summary>
        </member>
        <member name="M:log4net.Layout.PatternLayout.Format(log4net.spi.LoggingEvent)">
            <summary>
            Produces a formatted string as specified by the conversion pattern.
            </summary>
            <param name="loggingEvent">the event being logged</param>
            <returns>the formatted string</returns>
        </member>
        <member name="P:log4net.Layout.PatternLayout.ConversionPattern">
            <summary>
            The <b>ConversionPattern</b> option. This is the string which
            controls formatting and consists of a mix of literal content and
            conversion specifiers.
            </summary>
        </member>
        <member name="P:log4net.Layout.PatternLayout.IgnoresException">
            <summary>
            The PatternLayout does not handle the exception contained within
            LoggingEvents. Thus, it returns <c>true</c>.
            </summary>
        </member>
        <member name="T:log4net.Layout.RawLayoutConverter">
            <summary>
            Type converter for the <see cref="T:log4net.Layout.IRawLayout"/> interface
            </summary>
            <remarks>
            <para>Used to convert objects to the <see cref="T:log4net.Layout.IRawLayout"/> interface</para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.RawLayoutConverter.CanConvertFrom(System.Type)">
            <summary>
            Can the sourceType be converted to an <see cref="T:log4net.Layout.IRawLayout"/>
            </summary>
            <param name="sourceType">the source tybe to be converted</param>
            <returns><c>true</c> if the source type can be converted to <see cref="T:log4net.Layout.IRawLayout"/></returns>
        </member>
        <member name="M:log4net.Layout.RawLayoutConverter.ConvertFrom(System.Object)">
            <summary>
            Convert the value to a <see cref="T:log4net.Layout.IRawLayout"/> object
            </summary>
            <param name="source">the value to convert</param>
            <returns>the <see cref="T:log4net.Layout.IRawLayout"/> object</returns>
        </member>
        <member name="T:log4net.Layout.RawTimeStampLayout">
            <summary>
            Extract the date from the <see cref="T:log4net.spi.LoggingEvent"/>
            </summary>
            <remarks>
            Extract the date from the <see cref="T:log4net.spi.LoggingEvent"/>
            </remarks>
        </member>
        <member name="M:log4net.Layout.RawTimeStampLayout.#ctor">
            <summary>
            Constructs a RawDateLayout
            </summary>
            <remarks>
            </remarks>
        </member>
        <member name="M:log4net.Layout.RawTimeStampLayout.Format(log4net.spi.LoggingEvent)">
            <summary>
            Implement this method to create your own layout format.
            </summary>
            <param name="loggingEvent">The event to format</param>
            <returns>returns the formatted event</returns>
            <remarks>
            <para>Implement this method to create your own layout format.</para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.SimpleLayout">
            <summary>
            A very simple layout
            </summary>
            <remarks>
            SimpleLayout consists of the level of the log statement,
            followed by " - " and then the log message itself. For example,
            <code>
            DEBUG - Hello world
            </code>
            </remarks>
        </member>
        <member name="F:log4net.Layout.SimpleLayout.BUF_SIZE">
            <summary>
            Initial buffer size
            </summary>
        </member>
        <member name="F:log4net.Layout.SimpleLayout.MAX_CAPACITY">
            <summary>
            Maximum buffer size before it is recycled
            </summary>
        </member>
        <member name="F:log4net.Layout.SimpleLayout.m_sbuf">
            <summary>
            output buffer appended to when Format() is invoked
            </summary>
        </member>
        <member name="M:log4net.Layout.SimpleLayout.#ctor">
            <summary>
            Constructs a SimpleLayout
            </summary>
            <remarks>
            </remarks>
        </member>
        <member name="M:log4net.Layout.SimpleLayout.ActivateOptions">
            <summary>
            Does not do anything as options become effective immediately.
            </summary>
        </member>
        <member name="M:log4net.Layout.SimpleLayout.Format(log4net.spi.LoggingEvent)">
            <summary>
            Produces a formatted string.
            </summary>
            <param name="loggingEvent">the event being logged</param>
            <returns>the formatted string</returns>
        </member>
        <member name="P:log4net.Layout.SimpleLayout.IgnoresException">
            <summary>
            The SimpleLayout does not handle the exception contained within
            LoggingEvents. Thus, it returns <c>true</c>.
            </summary>
        </member>
        <member name="T:log4net.Layout.XmlLayout">
            <summary>
            Layout that formats the log events as XML elements.
            </summary>
            <remarks>
            <para>
            The output of the <see cref="T:log4net.Layout.XmlLayout"/> consists of a series of 
            log4net:event elements. It does not output a complete well-formed XML 
            file. The output is designed to be included as an <em>external entity</em>
            in a separate file to form a correct XML file.
            </para>
            <para>
            For example, if <code>abc</code> is the name of the file where
            the <see cref="T:log4net.Layout.XmlLayout"/> output goes, then a well-formed XML file would 
            be:
            </para>
            <code>
            &lt;?xml version="1.0" ?&gt;
            
            &lt;!DOCTYPE log4net:events SYSTEM "log4net-events.dtd" [&lt;!ENTITY data SYSTEM "abc"&gt;]&gt;
            
            &lt;log4net:events version="1.2" xmlns:log4net="http://log4net.sourceforge.net/"&gt;
                &amp;data;
            &lt;/log4net:events&gt;
            </code>
            <para>
            This approach enforces the independence of the <see cref="T:log4net.Layout.XmlLayout"/> 
            and the appender where it is embedded.
            </para>
            <para>
            The <code>version</code> attribute helps components to correctly
            interpret output generated by <see cref="T:log4net.Layout.XmlLayout"/>. The value of 
            this attribute should be "1.2" for release 1.2 and later.
            </para>
            <para>
            Alternatively the <c>Header</c> and <c>Footer</c> properties can be
            configured to output the correct XML header, open tag and close tag.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.XmlLayoutBase">
            <summary>
            Layout that formats the log events as XML elements.
            </summary>
            <remarks>
            <para>
            This is an abstract class that must be subclassed by an implementation 
            to conform to a specific schema.
            </para>
            <para>
            Deriving classes must implement the <see cref="M:log4net.Layout.XmlLayoutBase.FormatXml(System.Xml.XmlWriter,log4net.spi.LoggingEvent)"/> method.
            </para>
            </remarks>
        </member>
        <member name="F:log4net.Layout.XmlLayoutBase.BufferSize">
            <summary>
            Initial buffer size.
            </summary>
        </member>
        <member name="F:log4net.Layout.XmlLayoutBase.MaximumCapacity">
            <summary>
            Maximum buffer size before it is recycled.
            </summary>
        </member>
        <member name="M:log4net.Layout.XmlLayoutBase.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Layout.XmlLayoutBase"/> class
            with no location info.
            </summary>
        </member>
        <member name="M:log4net.Layout.XmlLayoutBase.#ctor(System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Layout.XmlLayoutBase"/> class.
            </summary>
            <remarks>
            <para>
            The <paramref name="locationInfo"/> parameter determines whether 
            location information will be output by the layout. If 
            <paramref name="locationInfo"/> is set to <c>true</c>, then the 
            file name and line number of the statement at the origin of the log 
            statement will be output. 
            </para>
            <para>
            If you are embedding this layout within an SMTPAppender
            then make sure to set the <b>LocationInfo</b> option of that 
            appender as well.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.XmlLayoutBase.ActivateOptions">
            <summary>
            Does not do anything as options become effective immediately.
            </summary>
        </member>
        <member name="M:log4net.Layout.XmlLayoutBase.Format(log4net.spi.LoggingEvent)">
            <summary>
            Produces a formatted string.
            </summary>
            <param name="loggingEvent">The event being logged.</param>
            <returns>The formatted string.</returns>
        </member>
        <member name="M:log4net.Layout.XmlLayoutBase.FormatXml(System.Xml.XmlWriter,log4net.spi.LoggingEvent)">
            <summary>
            Does the actual writing of the XML.
            </summary>
            <param name="writer">The writer to use to output the event to.</param>
            <param name="loggingEvent">The event to write.</param>
        </member>
        <member name="F:log4net.Layout.XmlLayoutBase.m_sbuf">
            <summary>
            Output buffer appended to when <see cref="M:log4net.Layout.XmlLayoutBase.Format(log4net.spi.LoggingEvent)"/> 
            is invoked.
            </summary>
        </member>
        <member name="F:log4net.Layout.XmlLayoutBase.m_locationInfo">
            <summary>
            Flag to indicate if location information should be included in
            the XML events.
            </summary>
        </member>
        <member name="P:log4net.Layout.XmlLayoutBase.LocationInfo">
            <summary>
            Gets a value indicating whether to include location information in 
            the XML events.
            </summary>
            <value>
            <c>true</c> if location information should be included in the XML 
            events; otherwise, <c>false</c>.
            </value>
            <remarks>
            <para>
            If <see cref="P:log4net.Layout.XmlLayoutBase.LocationInfo"/> is set to <c>true</c>, then the file 
            name and line number of the statement at the origin of the log 
            statement will be output. 
            </para>
            <para>
            If you are embedding this layout within an SMTPAppender
            then make sure to set the <b>LocationInfo</b> option of that 
            appender as well.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Layout.XmlLayoutBase.ContentType">
            <summary>
            Gets the content type output by this layout. 
            </summary>
            <value>As this is the XML layout, the value is always "text/xml".</value>
        </member>
        <member name="P:log4net.Layout.XmlLayoutBase.IgnoresException">
            <summary>
            The XMLLayout does handle the exception contained within
            LoggingEvents. Thus, it returns <c>false</c>.
            </summary>
        </member>
        <member name="M:log4net.Layout.XmlLayout.#ctor">
            <summary>
            Constructs an XmlLayout
            </summary>
        </member>
        <member name="M:log4net.Layout.XmlLayout.#ctor(System.Boolean)">
            <summary>
            Constructs an XmlLayout.
            </summary>
            <remarks>
            <para>
            The <b>LocationInfo</b> option takes a boolean value. By
            default, it is set to false which means there will be no location
            information output by this layout. If the the option is set to
            true, then the file name and line number of the statement
            at the origin of the log statement will be output. 
            </para>
            <para>
            If you are embedding this layout within an SMTPAppender
            then make sure to set the <b>LocationInfo</b> option of that 
            appender as well.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.XmlLayout.ActivateOptions">
            <summary>
            Builds a cache of the element names
            </summary>
        </member>
        <member name="M:log4net.Layout.XmlLayout.FormatXml(System.Xml.XmlWriter,log4net.spi.LoggingEvent)">
            <summary>
            Does the actual writing of the XML.
            </summary>
            <param name="writer">The writer to use to output the event to.</param>
            <param name="loggingEvent">The event to write.</param>
        </member>
        <member name="F:log4net.Layout.XmlLayout.m_prefix">
            <summary>
            The prefix to use for all generated element names
            </summary>
        </member>
        <member name="P:log4net.Layout.XmlLayout.Prefix">
            <summary>
            The prefix to use for all element names
            </summary>
            <remarks>
            <para>
            The default prefix is <b>log4net</b>. Set this property
            to change the prefix. If the prefix is set to an empty string
            then no prefix will be written.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.Layout.XmlLayoutSchemaLog4j">
            <summary>
            Layout that formats the log events as XML elements compatible with the log4j schema
            </summary>
            <remarks>
            <para>
            Formats the log events acording to the http://jakarta.apache.org/log4j schema.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.XmlLayoutSchemaLog4j.#ctor">
            <summary>
            Constructs an XMLLayoutSchemaLog4j
            </summary>
        </member>
        <member name="M:log4net.Layout.XmlLayoutSchemaLog4j.#ctor(System.Boolean)">
            <summary>
            Constructs an XMLLayoutSchemaLog4j.
            </summary>
            <remarks>
            <para>
            The <b>LocationInfo</b> option takes a boolean value. By
            default, it is set to false which means there will be no location
            information output by this layout. If the the option is set to
            true, then the file name and line number of the statement
            at the origin of the log statement will be output. 
            </para>
            <para>
            If you are embedding this layout within an SMTPAppender
            then make sure to set the <b>LocationInfo</b> option of that 
            appender as well.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Layout.XmlLayoutSchemaLog4j.FormatXml(System.Xml.XmlWriter,log4net.spi.LoggingEvent)">
            <summary>
            Actualy do the writing of the xml
            </summary>
            <param name="writer">the writer to use</param>
            <param name="loggingEvent">the event to write</param>
        </member>
        <member name="P:log4net.Layout.XmlLayoutSchemaLog4j.Version">
            <summary>
            The version of the log4j schema to use.
            </summary>
            <remarks>
            <para>
            Only version 1.2 of the log4j schema is supported.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.ObjectRenderer.DefaultRenderer">
            <summary>
            The default Renderer renders objects by calling their <see cref="M:System.Object.ToString"/> method.
            </summary>
            <remarks>
            <para>The default renderer supports rendering objects to strings as follows:</para>
            
            <list type="table">
            	<listheader>
            		<term>Value</term>
            		<description>Rendered String</description>
            	</listheader>
            	<item>
            		<term><c>null</c></term>
            		<description><para>"(null)"</para></description>
            	</item>
            	<item>
            		<term><see cref="T:System.Array"/></term>
            		<description>
            		<para>For a one dimensional array this is the
            		array type name, an open brace, followed by a comma
            		separated list of the elements (using the appropriate
            		renderer), followed by a close brace. For example:
            		<c>int[] {1, 2, 3}</c>.</para>
            		<para>If the array is not one dimensional the 
            		<c>Array.ToString()</c> is returned.</para>
            		</description>
            	</item>
            	<item>
            		<term><see cref="T:System.Exception"/></term>
            		<description>
            		<para>Renders the exception type, message
            		and stack trace. Any nested exception is also rendered.</para>
            		</description>
            	</item>
            	<item>
            		<term>other</term>
            		<description>
            		<para><c>Object.ToString()</c></para>
            		</description>
            	</item>
            </list>
            
            <para>The <see cref="T:log4net.ObjectRenderer.DefaultRenderer"/> serves as a good base class 
            for renderers that need to provide special handling of exception
            types. The <see cref="M:log4net.ObjectRenderer.DefaultRenderer.RenderException(log4net.ObjectRenderer.RendererMap,System.Exception)"/> method is used to render
            the exception and its nested exceptions, however the <see cref="M:log4net.ObjectRenderer.DefaultRenderer.RenderExceptionMessage(log4net.ObjectRenderer.RendererMap,System.Exception)"/>
            method is called just to render the exceptions message. This method
            can be overridden is a subclass to provide additional information
            for some exception types. See <see cref="M:log4net.ObjectRenderer.DefaultRenderer.RenderException(log4net.ObjectRenderer.RendererMap,System.Exception)"/> for
            more information.</para>
            </remarks>
        </member>
        <member name="T:log4net.ObjectRenderer.IObjectRenderer">
            <summary>
            Implement this interface in order to render objects as strings
            </summary>
            <remarks>
            <para>Certain types require special case conversion to
            string form. This conversion is done by an object renderer.
            Object renderers implement the <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>
            interface.</para>
            </remarks>
        </member>
        <member name="M:log4net.ObjectRenderer.IObjectRenderer.DoRender(log4net.ObjectRenderer.RendererMap,System.Object)">
            <summary>
            Render the object <paramref name="obj"/> to a string
            </summary>
            <param name="rendererMap">The map used to lookup renderers</param>
            <param name="obj">The object to render</param>
            <returns>the object rendered as a string</returns>
            <remarks>
            <para>Render the object <paramref name="obj"/> to a 
            string.</para>
            
            <para>The <paramref name="rendererMap"/> parameter is
            provided to lookup and render other objects. This is
            very useful where <paramref name="obj"/> contains
            nested objects of unknown type. The <see cref="M:log4net.ObjectRenderer.RendererMap.FindAndRender(System.Object)"/>
            method can be used to render these objects.</para>
            </remarks>
        </member>
        <member name="M:log4net.ObjectRenderer.DefaultRenderer.#ctor">
            <summary>
            Default constructor
            </summary>
            <remarks>
            Default constructor
            </remarks>
        </member>
        <member name="M:log4net.ObjectRenderer.DefaultRenderer.DoRender(log4net.ObjectRenderer.RendererMap,System.Object)">
            <summary>
            Render the object <paramref name="obj"/> to a string
            </summary>
            <param name="rendererMap">The map used to lookup renderers</param>
            <param name="obj">The object to render</param>
            <returns>the object rendered as a string</returns>
            <remarks>
            <para>Render the object <paramref name="obj"/> to a 
            string.</para>
            
            <para>The <paramref name="rendererMap"/> parameter is
            provided to lookup and render other objects. This is
            very useful where <paramref name="obj"/> contains
            nested objects of unknown type. The <see cref="M:log4net.ObjectRenderer.RendererMap.FindAndRender(System.Object)"/>
            method can be used to render these objects.</para>
            
            <para>The default renderer supports rendering objects to strings as follows:</para>
            
            <list type="table">
            	<listheader>
            		<term>Value</term>
            		<description>Rendered String</description>
            	</listheader>
            	<item>
            		<term><c>null</c></term>
            		<description>
            		<para>"(null)"</para>
            		</description>
            	</item>
            	<item>
            		<term><see cref="T:System.Array"/></term>
            		<description>
            		<para>For a one dimensional array this is the
            		array type name, an open brace, followed by a comma
            		separated list of the elements (using the appropriate
            		renderer), followed by a close brace. For example:
            		<c>int[] {1, 2, 3}</c>.</para>
            		<para>If the array is not one dimensional the 
            		<c>Array.ToString()</c> is returned.</para>
            		
            		<para>The <see cref="M:log4net.ObjectRenderer.DefaultRenderer.RenderArray(log4net.ObjectRenderer.RendererMap,System.Array)"/> method is called
            		to do the actual array rendering. This method can be
            		overridden in a subclass to provide different array
            		rendering.</para>
            		</description>
            	</item>
            	<item>
            		<term><see cref="T:System.Exception"/></term>
            		<description>
            		<para>Renders the exception type, message
            		and stack trace. Any nested exception is also rendered.</para>
            		
            		<para>The <see cref="M:log4net.ObjectRenderer.DefaultRenderer.RenderException(log4net.ObjectRenderer.RendererMap,System.Exception)"/> method is called
            		to do the actual exception rendering. This method can be
            		overridden in a subclass to provide different exception
            		rendering.</para>
            		</description>
            	</item>
            	<item>
            		<term>other</term>
            		<description>
            		<para><c>Object.ToString()</c></para>
            		</description>
            	</item>
            </list>
            </remarks>
        </member>
        <member name="M:log4net.ObjectRenderer.DefaultRenderer.RenderArray(log4net.ObjectRenderer.RendererMap,System.Array)">
            <summary>
            Render the array argument into a string
            </summary>
            <param name="rendererMap">The map used to lookup renderers</param>
            <param name="array">the array to render</param>
            <returns>the string representation of the array</returns>
            <remarks>
            <para>For a one dimensional array this is the
            array type name, an open brace, followed by a comma
            separated list of the elements (using the appropriate
            renderer), followed by a close brace. For example:
            <c>int[] {1, 2, 3}</c>.</para>
            <para>If the array is not one dimensional the 
            <c>Array.ToString()</c> is returned.</para>
            </remarks>
        </member>
        <member name="M:log4net.ObjectRenderer.DefaultRenderer.RenderException(log4net.ObjectRenderer.RendererMap,System.Exception)">
            <summary>
            Render the exception into a string
            </summary>
            <param name="rendererMap">The map used to lookup renderers</param>
            <param name="ex">the exception to render</param>
            <returns>the string representation of the exception</returns>
            <remarks>
            <para>Renders the exception type, message, and stack trace. Any nested
            exceptions are also rendered.</para>
            
            <para>The <see cref="M:log4net.ObjectRenderer.DefaultRenderer.RenderExceptionMessage(log4net.ObjectRenderer.RendererMap,System.Exception)"/>
            method is called to render the Exception's message into a string. This method
            can be overridden to change the behaviour when rendering
            exceptions. To change or extend only the message that is
            displayed override the <see cref="M:log4net.ObjectRenderer.DefaultRenderer.RenderExceptionMessage(log4net.ObjectRenderer.RendererMap,System.Exception)"/>
            method instead.</para>
            </remarks>
        </member>
        <member name="M:log4net.ObjectRenderer.DefaultRenderer.RenderExceptionMessage(log4net.ObjectRenderer.RendererMap,System.Exception)">
            <summary>
            Render the exception message into a string
            </summary>
            <param name="rendererMap">The map used to lookup renderers</param>
            <param name="ex">the exception to get the message from and render</param>
            <returns>the string representation of the exception message</returns>
            <remarks>
            <para>This method is called to render the exception's message into
            a string. This method should be overridden to extend the information
            that is rendered for a specific exception.</para>
            
            <para>See <see cref="M:log4net.ObjectRenderer.DefaultRenderer.RenderException(log4net.ObjectRenderer.RendererMap,System.Exception)"/> for more information.</para>
            </remarks>
        </member>
        <member name="T:log4net.ObjectRenderer.RendererMap">
            <summary>
            Map class objects to an <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>.
            </summary>
        </member>
        <member name="M:log4net.ObjectRenderer.RendererMap.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:log4net.ObjectRenderer.RendererMap.FindAndRender(System.Object)">
            <summary>
            Render <paramref name="obj"/> using the appropriate renderer.
            </summary>
            <remarks>
            <para>Find the appropriate renderer for the type of the
            <paramref name="obj"/> parameter. This is accomplished by calling the
            <see cref="M:log4net.ObjectRenderer.RendererMap.Get(System.Type)"/> method. Once a renderer is found, it is
            applied on the object <paramref name="obj"/> and the result is returned
            as a <see cref="T:System.String"/>.</para>
            </remarks>
            <param name="obj">the object to render to a string</param>
            <returns>the string rendering of <paramref name="obj"/></returns>
        </member>
        <member name="M:log4net.ObjectRenderer.RendererMap.Get(System.Object)">
            <summary>
            Gets the renderer for the specified object type
            </summary>
            <remarks>
            <param>Gets the renderer for the specified object type</param>
            
            <param>Syntactic sugar method that calls <see cref="M:log4net.ObjectRenderer.RendererMap.Get(System.Type)"/> 
            with the type of the object parameter.</param>
            </remarks>
            <param name="obj">the object to lookup the renderer for</param>
            <returns>the renderer for <paramref name="obj"/></returns>
        </member>
        <member name="M:log4net.ObjectRenderer.RendererMap.Get(System.Type)">
            <summary>
            Gets the renderer for the specified type
            </summary>
            <param name="type">the type to lookup the renderer for</param>
            <returns>the renderer for the specified type</returns>
        </member>
        <member name="M:log4net.ObjectRenderer.RendererMap.SearchInterfaces(System.Type)">
            <summary>
            Internal function to recursively search interfaces
            </summary>
            <param name="type">the type to lookup the renderer for</param>
            <returns>the renderer for the specified type</returns>
        </member>
        <member name="M:log4net.ObjectRenderer.RendererMap.Clear">
            <summary>
            Clear the map of renderers
            </summary>
        </member>
        <member name="M:log4net.ObjectRenderer.RendererMap.Put(System.Type,log4net.ObjectRenderer.IObjectRenderer)">
            <summary>
            Register an <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/> for <paramref name="typeToRender"/>. 
            </summary>
            <param name="typeToRender">the type that will be rendered by <paramref name="renderer"/></param>
            <param name="renderer">the renderer for <paramref name="typeToRender"/></param>
        </member>
        <member name="P:log4net.ObjectRenderer.RendererMap.DefaultRenderer">
            <summary>
            Get the default renderer instance
            </summary>
            <returns>the default renderer</returns>
        </member>
        <member name="T:log4net.Plugin.IPlugin">
            <summary>
            Interface implemented by logger repository plugins.
            </summary>
        </member>
        <member name="M:log4net.Plugin.IPlugin.Attach(log4net.Repository.ILoggerRepository)">
            <summary>
            Attaches the plugin to the specified <see cref="T:log4net.Repository.ILoggerRepository"/>.
            </summary>
            <param name="repository">The <see cref="T:log4net.Repository.ILoggerRepository"/> that this plugin should be attached to.</param>
            <remarks>
            <para>
            A plugin may only be attached to a single repository.
            </para>
            <para>
            This method is called when the plugin is attached to the repository.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Plugin.IPlugin.Shutdown">
            <summary>
            Is called when the plugin is to shutdown.
            </summary>
        </member>
        <member name="P:log4net.Plugin.IPlugin.Name">
            <summary>
            Gets or sets the name of the plugin.
            </summary>
            <value>
            The name of the plugin.
            </value>
        </member>
        <member name="T:log4net.Plugin.PluginCollection">
            <summary>
            A strongly-typed collection of <see cref="T:log4net.Plugin.IPlugin"/> objects.
            </summary>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.Synchronized(log4net.Plugin.PluginCollection)">
            <summary>
            Creates a synchronized (thread-safe) wrapper for a 
            <c>PluginCollection</c> instance.
            </summary>
            <returns>
            A <c>PluginCollection</c> wrapper that is synchronized (thread-safe).
            </returns>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.ReadOnly(log4net.Plugin.PluginCollection)">
            <summary>
            Creates a read-only wrapper for a 
            <c>PluginCollection</c> instance.
            </summary>
            <returns>
            A <c>PluginCollection</c> wrapper that is read-only.
            </returns>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.#ctor">
            <summary>
            Initializes a new instance of the <c>PluginCollection</c> class
            that is empty and has the default initial capacity.
            </summary>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <c>PluginCollection</c> class
            that has the specified initial capacity.
            </summary>
            <param name="capacity">
            The number of elements that the new <c>PluginCollection</c> is initially capable of storing.
            </param>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.#ctor(log4net.Plugin.PluginCollection)">
            <summary>
            Initializes a new instance of the <c>PluginCollection</c> class
            that contains elements copied from the specified <c>PluginCollection</c>.
            </summary>
            <param name="c">The <c>PluginCollection</c> whose elements are copied to the new collection.</param>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.#ctor(log4net.Plugin.IPlugin[])">
            <summary>
            Initializes a new instance of the <c>PluginCollection</c> class
            that contains elements copied from the specified <see cref="T:log4net.Plugin.IPlugin"/> array.
            </summary>
            <param name="a">The <see cref="T:log4net.Plugin.IPlugin"/> array whose elements are copied to the new list.</param>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.#ctor(System.Collections.ICollection)">
            <summary>
            Initializes a new instance of the <c>PluginCollection</c> class
            that contains elements copied from the specified <see cref="T:log4net.Plugin.IPlugin"/> collection.
            </summary>
            <param name="col">The <see cref="T:log4net.Plugin.IPlugin"/> collection whose elements are copied to the new list.</param>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.#ctor(log4net.Plugin.PluginCollection.Tag)">
            <summary>
            Allow subclasses to avoid our default constructors
            </summary>
            <param name="t"></param>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.CopyTo(log4net.Plugin.IPlugin[])">
            <summary>
            Copies the entire <c>PluginCollection</c> to a one-dimensional
            <see cref="T:log4net.Plugin.IPlugin"/> array.
            </summary>
            <param name="array">The one-dimensional <see cref="T:log4net.Plugin.IPlugin"/> array to copy to.</param>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.CopyTo(log4net.Plugin.IPlugin[],System.Int32)">
            <summary>
            Copies the entire <c>PluginCollection</c> to a one-dimensional
            <see cref="T:log4net.Plugin.IPlugin"/> array, starting at the specified index of the target array.
            </summary>
            <param name="array">The one-dimensional <see cref="T:log4net.Plugin.IPlugin"/> array to copy to.</param>
            <param name="start">The zero-based index in <paramref name="array"/> at which copying begins.</param>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.Add(log4net.Plugin.IPlugin)">
            <summary>
            Adds a <see cref="T:log4net.Plugin.IPlugin"/> to the end of the <c>PluginCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Plugin.IPlugin"/> to be added to the end of the <c>PluginCollection</c>.</param>
            <returns>The index at which the value has been added.</returns>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.Clear">
            <summary>
            Removes all elements from the <c>PluginCollection</c>.
            </summary>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.Clone">
            <summary>
            Creates a shallow copy of the <see cref="T:log4net.Plugin.PluginCollection"/>.
            </summary>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.Contains(log4net.Plugin.IPlugin)">
            <summary>
            Determines whether a given <see cref="T:log4net.Plugin.IPlugin"/> is in the <c>PluginCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Plugin.IPlugin"/> to check for.</param>
            <returns><c>true</c> if <paramref name="item"/> is found in the <c>PluginCollection</c>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.IndexOf(log4net.Plugin.IPlugin)">
            <summary>
            Returns the zero-based index of the first occurrence of a <see cref="T:log4net.Plugin.IPlugin"/>
            in the <c>PluginCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Plugin.IPlugin"/> to locate in the <c>PluginCollection</c>.</param>
            <returns>
            The zero-based index of the first occurrence of <paramref name="item"/> 
            in the entire <c>PluginCollection</c>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.Insert(System.Int32,log4net.Plugin.IPlugin)">
            <summary>
            Inserts an element into the <c>PluginCollection</c> at the specified index.
            </summary>
            <param name="index">The zero-based index at which <paramref name="item"/> should be inserted.</param>
            <param name="item">The <see cref="T:log4net.Plugin.IPlugin"/> to insert.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Plugin.PluginCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.Remove(log4net.Plugin.IPlugin)">
            <summary>
            Removes the first occurrence of a specific <see cref="T:log4net.Plugin.IPlugin"/> from the <c>PluginCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.Plugin.IPlugin"/> to remove from the <c>PluginCollection</c>.</param>
            <exception cref="T:System.ArgumentException">
            The specified <see cref="T:log4net.Plugin.IPlugin"/> was not found in the <c>PluginCollection</c>.
            </exception>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.RemoveAt(System.Int32)">
            <summary>
            Removes the element at the specified index of the <c>PluginCollection</c>.
            </summary>
            <param name="index">The zero-based index of the element to remove.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero.</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Plugin.PluginCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.GetEnumerator">
            <summary>
            Returns an enumerator that can iterate through the <c>PluginCollection</c>.
            </summary>
            <returns>An <see cref="T:log4net.Plugin.PluginCollection.Enumerator"/> for the entire <c>PluginCollection</c>.</returns>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.AddRange(log4net.Plugin.PluginCollection)">
            <summary>
            Adds the elements of another <c>PluginCollection</c> to the current <c>PluginCollection</c>.
            </summary>
            <param name="x">The <c>PluginCollection</c> whose elements should be added to the end of the current <c>PluginCollection</c>.</param>
            <returns>The new <see cref="P:log4net.Plugin.PluginCollection.Count"/> of the <c>PluginCollection</c>.</returns>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.AddRange(log4net.Plugin.IPlugin[])">
            <summary>
            Adds the elements of a <see cref="T:log4net.Plugin.IPlugin"/> array to the current <c>PluginCollection</c>.
            </summary>
            <param name="x">The <see cref="T:log4net.Plugin.IPlugin"/> array whose elements should be added to the end of the <c>PluginCollection</c>.</param>
            <returns>The new <see cref="P:log4net.Plugin.PluginCollection.Count"/> of the <c>PluginCollection</c>.</returns>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.AddRange(System.Collections.ICollection)">
            <summary>
            Adds the elements of a <see cref="T:log4net.Plugin.IPlugin"/> collection to the current <c>PluginCollection</c>.
            </summary>
            <param name="col">The <see cref="T:log4net.Plugin.IPlugin"/> collection whose elements should be added to the end of the <c>PluginCollection</c>.</param>
            <returns>The new <see cref="P:log4net.Plugin.PluginCollection.Count"/> of the <c>PluginCollection</c>.</returns>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.TrimToSize">
            <summary>
            Sets the capacity to the actual number of elements.
            </summary>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.ValidateIndex(System.Int32)">
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero.</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Plugin.PluginCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.ValidateIndex(System.Int32,System.Boolean)">
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero.</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Plugin.PluginCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="P:log4net.Plugin.PluginCollection.Count">
            <summary>
            Gets the number of elements actually contained in the <c>PluginCollection</c>.
            </summary>
        </member>
        <member name="P:log4net.Plugin.PluginCollection.IsSynchronized">
            <summary>
            Gets a value indicating whether access to the collection is synchronized (thread-safe).
            </summary>
            <returns>true if access to the ICollection is synchronized (thread-safe); otherwise, false.</returns>
        </member>
        <member name="P:log4net.Plugin.PluginCollection.SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the collection.
            </summary>
            <value>
            An object that can be used to synchronize access to the collection.
            </value>
        </member>
        <member name="P:log4net.Plugin.PluginCollection.Item(System.Int32)">
            <summary>
            Gets or sets the <see cref="T:log4net.Plugin.IPlugin"/> at the specified index.
            </summary>
            <value>
            The <see cref="T:log4net.Plugin.IPlugin"/> at the specified index.
            </value>
            <param name="index">The zero-based index of the element to get or set.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero.</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Plugin.PluginCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="P:log4net.Plugin.PluginCollection.IsFixedSize">
            <summary>
            Gets a value indicating whether the collection has a fixed size.
            </summary>
            <value><c>true</c> if the collection has a fixed size; otherwise, <c>false</c>. The default is <c>false</c>.</value>
        </member>
        <member name="P:log4net.Plugin.PluginCollection.IsReadOnly">
            <summary>
            Gets a value indicating whether the IList is read-only.
            </summary>
            <value><c>true</c> if the collection is read-only; otherwise, <c>false</c>. The default is <c>false</c>.</value>
        </member>
        <member name="P:log4net.Plugin.PluginCollection.Capacity">
            <summary>
            Gets or sets the number of elements the <c>PluginCollection</c> can contain.
            </summary>
            <value>
            The number of elements the <c>PluginCollection</c> can contain.
            </value>
        </member>
        <member name="T:log4net.Plugin.PluginCollection.IPluginCollectionEnumerator">
            <summary>
            Supports type-safe iteration over a <see cref="T:log4net.Plugin.PluginCollection"/>.
            </summary>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.IPluginCollectionEnumerator.MoveNext">
            <summary>
            Advances the enumerator to the next element in the collection.
            </summary>
            <exception cref="T:System.InvalidOperationException">
            The collection was modified after the enumerator was created.
            </exception>
            <returns>
            <c>true</c> if the enumerator was successfully advanced to the next element; 
            <c>false</c> if the enumerator has passed the end of the collection.
            </returns>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.IPluginCollectionEnumerator.Reset">
            <summary>
            Sets the enumerator to its initial position, before the first element in the collection.
            </summary>
        </member>
        <member name="P:log4net.Plugin.PluginCollection.IPluginCollectionEnumerator.Current">
            <summary>
            Gets the current element in the collection.
            </summary>
        </member>
        <member name="T:log4net.Plugin.PluginCollection.Tag">
            <summary>
            Type visible only to our subclasses
            Used to access protected constructor
            </summary>
        </member>
        <member name="F:log4net.Plugin.PluginCollection.Tag.Default">
            <summary>
            A value
            </summary>
        </member>
        <member name="T:log4net.Plugin.PluginCollection.Enumerator">
            <summary>
            Supports simple iteration over a <see cref="T:log4net.Plugin.PluginCollection"/>.
            </summary>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.Enumerator.#ctor(log4net.Plugin.PluginCollection)">
            <summary>
            Initializes a new instance of the <c>Enumerator</c> class.
            </summary>
            <param name="tc"></param>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.Enumerator.MoveNext">
            <summary>
            Advances the enumerator to the next element in the collection.
            </summary>
            <exception cref="T:System.InvalidOperationException">
            The collection was modified after the enumerator was created.
            </exception>
            <returns>
            <c>true</c> if the enumerator was successfully advanced to the next element; 
            <c>false</c> if the enumerator has passed the end of the collection.
            </returns>
        </member>
        <member name="M:log4net.Plugin.PluginCollection.Enumerator.Reset">
            <summary>
            Sets the enumerator to its initial position, before the first element in the collection.
            </summary>
        </member>
        <member name="P:log4net.Plugin.PluginCollection.Enumerator.Current">
            <summary>
            Gets the current element in the collection.
            </summary>
            <value>
            The current element in the collection.
            </value>
        </member>
        <member name="T:log4net.Plugin.PluginMap">
            <summary>
            Map of repository plugins.
            </summary>
            <remarks>
            This class is a name keyed map of the plugins that are
            attached to a repository.
            </remarks>
        </member>
        <member name="M:log4net.Plugin.PluginMap.#ctor(log4net.Repository.ILoggerRepository)">
            <summary>
            Initiazlies a new instance of the <see cref="T:log4net.Plugin.PluginMap"/> class with a 
            repository that the plugins should be attached to.
            </summary>
            <param name="reporitory">The repository that the plugins should be attached to.</param>
        </member>
        <member name="M:log4net.Plugin.PluginMap.Add(log4net.Plugin.IPlugin)">
            <summary>
            Adds a <see cref="T:log4net.Plugin.IPlugin"/> to the map.
            </summary>
            <param name="plugin">The <see cref="T:log4net.Plugin.IPlugin"/> to add to the map.</param>
            <remarks>
            The <see cref="T:log4net.Plugin.IPlugin"/> will be attached to the repository when added.
            </remarks>
        </member>
        <member name="M:log4net.Plugin.PluginMap.Remove(log4net.Plugin.IPlugin)">
            <summary>
            Removes a <see cref="T:log4net.Plugin.IPlugin"/> from the map.
            </summary>
            <param name="plugin">The <see cref="T:log4net.Plugin.IPlugin"/> to remove from the map.</param>
        </member>
        <member name="P:log4net.Plugin.PluginMap.Item(System.String)">
            <summary>
            Gets a <see cref="T:log4net.Plugin.IPlugin"/> by name.
            </summary>
            <param name="name">The name of the <see cref="T:log4net.Plugin.IPlugin"/> to lookup.</param>
            <returns>
            The <see cref="T:log4net.Plugin.IPlugin"/> from the map with the name specified, or 
            <c>null</c> if no plugin is found.
            </returns>
        </member>
        <member name="P:log4net.Plugin.PluginMap.AllPlugins">
            <summary>
            Gets all possible plugins as a list of <see cref="T:log4net.Plugin.IPlugin"/> objects.
            </summary>
            <value>All possible plugins as a list of <see cref="T:log4net.Plugin.IPlugin"/> objects.</value>
        </member>
        <member name="T:log4net.Plugin.PluginSkeleton">
            <summary>
            Class from which logger repository plugins derive.
            </summary>
        </member>
        <member name="M:log4net.Plugin.PluginSkeleton.#ctor(System.String)">
            <summary>
            Initializes a new Plugin with the specified name.
            </summary>
        </member>
        <member name="M:log4net.Plugin.PluginSkeleton.Attach(log4net.Repository.ILoggerRepository)">
            <summary>
            Attaches this plugin to a <see cref="T:log4net.Repository.ILoggerRepository"/>.
            </summary>
            <param name="repository">The <see cref="T:log4net.Repository.ILoggerRepository"/> that this plugin should be attached to.</param>
            <remarks>
            <para>
            A plugin may only be attached to a single repository.
            </para>
            <para>
            This method is called when the plugin is attached to the repository.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Plugin.PluginSkeleton.Shutdown">
            <summary>
            Is called when the plugin is to shutdown.
            </summary>
        </member>
        <member name="F:log4net.Plugin.PluginSkeleton.m_name">
            <summary>
            The name of this plugin.
            </summary>
        </member>
        <member name="F:log4net.Plugin.PluginSkeleton.m_repository">
            <summary>
            The repository this plugin is attached to.
            </summary>
        </member>
        <member name="P:log4net.Plugin.PluginSkeleton.Name">
            <summary>
            Gets or sets the name of this plugin.
            </summary>
            <value>
            The name of this plugin.
            </value>
        </member>
        <member name="P:log4net.Plugin.PluginSkeleton.LoggerRepository">
            <summary>
            Gets or sets the <see cref="T:log4net.Repository.ILoggerRepository"/> that this plugin is 
            attached to.
            </summary>
            <value>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> that this plugin is attached to.
            </value>
        </member>
        <member name="T:log4net.Plugin.RemoteLoggingServerPlugin">
            <summary>
            Publishes an instance of <see cref="T:log4net.Appender.RemotingAppender.IRemoteLoggingSink"/> 
            on the specified URI.
            </summary>
        </member>
        <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Plugin.RemoteLoggingServerPlugin"/> class.
            </summary>
        </member>
        <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Plugin.RemoteLoggingServerPlugin"/> class
            with specified name.
            </summary>
            <param name="sinkUri">The name to publish the sink under in the remoting infrastructure.</param>
        </member>
        <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.Attach(log4net.Repository.ILoggerRepository)">
            <summary>
            Attaches this plugin to a <see cref="T:log4net.Repository.ILoggerRepository"/>.
            </summary>
            <param name="repository">The <see cref="T:log4net.Repository.ILoggerRepository"/> that this plugin should be attached to.</param>
            <remarks>
            <para>
            A plugin may only be attached to a single repository.
            </para>
            <para>
            This method is called when the plugin is attached to the repository.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.Shutdown">
            <summary>
            Is called when the plugin is to shutdown.
            </summary>
        </member>
        <member name="P:log4net.Plugin.RemoteLoggingServerPlugin.SinkUri">
            <summary>
            Gets or sets the URI of this sink.
            </summary>
            <value>
            The URI of this sink.
            </value>
        </member>
        <member name="T:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl">
            <summary>
            Delivers <see cref="T:log4net.spi.LoggingEvent"/> objects to a remote sink.
            </summary>
        </member>
        <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl.#ctor(log4net.Repository.ILoggerRepository)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl"/> for the
            specified <see cref="T:log4net.Repository.ILoggerRepository"/>.
            </summary>
            <param name="repository">The repository to log to.</param>
        </member>
        <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl.LogEvents(log4net.spi.LoggingEvent[])">
            <summary>
            Logs the events to the repository.
            </summary>
            <param name="events">The events to log.</param>
            <remarks>
            The events passed are logged to the <see cref="P:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl.LoggerRepository"/>
            </remarks>
        </member>
        <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl.InitializeLifetimeService">
            <summary>
            Obtains a lifetime service object to control the lifetime 
            policy for this instance.
            </summary>
            <returns>
            <c>null</c> to indicate that this instance should live
            forever.
            </returns>
        </member>
        <member name="F:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl.m_repository">
            <summary>
            The underlying <see cref="T:log4net.Repository.ILoggerRepository"/> that events should
            be logged to.
            </summary>
        </member>
        <member name="P:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl.LoggerRepository">
            <summary>
            Gets or sets the underlying <see cref="T:log4net.Repository.ILoggerRepository"/> that 
            events should be logged to.
            </summary>
            <value>
            The underlying <see cref="T:log4net.Repository.ILoggerRepository"/> that events should
            be logged to.
            </value>
        </member>
        <member name="T:log4net.Repository.Hierarchy.DefaultLoggerFactory">
            <summary>
            Implementation of DefaultLoggerFactory.
            </summary>
        </member>
        <member name="T:log4net.Repository.Hierarchy.ILoggerFactory">
            <summary>
            Implement this interface to create new instances of <see cref="T:log4net.Repository.Hierarchy.Logger"/> 
            or a sub-class of <see cref="T:log4net.Repository.Hierarchy.Logger"/>.
            </summary>
            <remarks>
            <para>
            This interface is used by the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> to 
            create new <see cref="T:log4net.Repository.Hierarchy.Logger"/> objects.
            </para>
            <para>
            The <see cref="M:log4net.Repository.Hierarchy.ILoggerFactory.MakeNewLoggerInstance(System.String)"/> method is called
            to create a named <see cref="T:log4net.Repository.Hierarchy.Logger"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.ILoggerFactory.MakeNewLoggerInstance(System.String)">
            <summary>
            Constructs a new <see cref="T:log4net.Repository.Hierarchy.Logger"/> instance with the 
            specified name.
            </summary>
            <param name="name">The name of the <see cref="T:log4net.Repository.Hierarchy.Logger"/>.</param>
            <returns>The <see cref="T:log4net.Repository.Hierarchy.Logger"/> instance for the specified name.</returns>
            <remarks>
            <para>
            Called by the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> to create
            new named <see cref="T:log4net.Repository.Hierarchy.Logger"/> instances.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.DefaultLoggerFactory.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.DefaultLoggerFactory"/> class. 
            </summary>
        </member>
        <member name="M:log4net.Repository.Hierarchy.DefaultLoggerFactory.MakeNewLoggerInstance(System.String)">
            <summary>
            Constructs a new <see cref="T:log4net.Repository.Hierarchy.Logger"/> instance with the specified name.
            </summary>
            <param name="name">The name of the <see cref="T:log4net.Repository.Hierarchy.Logger"/>.</param>
            <returns>A new <see cref="T:log4net.Repository.Hierarchy.Logger"/> instance.</returns>
        </member>
        <member name="T:log4net.Repository.Hierarchy.Logger">
            <summary>
            Internal class used to provide implementation of <see cref="T:log4net.ILog"/>
            interface. Applications should use <see cref="T:log4net.LogManager"/> to get
            logger instances.
            </summary>
            <remarks>
            This is one of the central class' in the log4net implementation. One of the
            distinctive features of log4net are hierarchical loggers and their
            evaluation.
            </remarks>
        </member>
        <member name="T:log4net.spi.ILogger">
            <summary>
            Interface that all loggers should implement.
            </summary>
        </member>
        <member name="M:log4net.spi.ILogger.Log(System.String,log4net.spi.Level,System.Object,System.Exception)">
            <summary>
            This generic form is intended to be used by wrappers.
            </summary>
            <param name="callerFullName">The wrapper class' fully qualified class name.</param>
            <param name="level">The level of the message to be logged.</param>
            <param name="message">The message object to log.</param>
            <param name="t">the exception to log, including its stack trace. Pass <c>null</c> to not log an exception.</param>
            <remarks>
            Generates a logging event for the specified <paramref name="level"/> using
            the <paramref name="message"/> and <paramref name="t"/>.
            </remarks>
        </member>
        <member name="M:log4net.spi.ILogger.Log(log4net.spi.LoggingEvent)">
            <summary>
            This is the most generic printing method that is intended to be used 
            by wrappers.
            </summary>
            <param name="logEvent">The event being logged.</param>
            <remarks>
            Logs the specified logging event.
            </remarks>
        </member>
        <member name="M:log4net.spi.ILogger.IsEnabledFor(log4net.spi.Level)">
            <summary>
            Checks if this logger is enabled for a given <see cref="T:log4net.spi.Level"/> passed as parameter.
            </summary>
            <param name="level">The level to check.</param>
            <returns>
            <c>true</c> if this logger is enabled for <c>level</c>, otherwise <c>false</c>.
            </returns>
        </member>
        <member name="P:log4net.spi.ILogger.Name">
            <summary>
            Gets the name of the logger.
            </summary>
            <value>
            The name of the logger.
            </value>
        </member>
        <member name="P:log4net.spi.ILogger.Repository">
            <summary>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> where this 
            <c>Logger</c> instance is attached to.
            </summary>
            <value>The <see cref="T:log4net.Repository.ILoggerRepository"/> that this logger belongs to.</value>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.#ctor(System.String)">
            <summary>
            This constructor created a new <see cref="T:log4net.Repository.Hierarchy.Logger"/> instance and
            sets its name.
            </summary>
            <remarks>
            <para>
            Loggers are constructed by <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory"/> 
            objects. See <see cref="T:log4net.Repository.Hierarchy.DefaultLoggerFactory"/> for the default
            logger creator.
            </para>
            </remarks>
            <param name="name">The name of the <see cref="T:log4net.Repository.Hierarchy.Logger"/>.</param>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.AddAppender(log4net.Appender.IAppender)">
            <summary>
            Add <paramref name="newAppender"/> to the list of appenders of this
            Logger instance.
            </summary>
            <param name="newAppender">An appender to add to this logger</param>
            <remarks>
            Add <paramref name="newAppender"/> to the list of appenders of this
            Logger instance.
            <para>If <paramref name="newAppender"/> is already in the list of
            appenders, then it won't be added again.</para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.GetAppender(System.String)">
            <summary>
            Look for the appender named as <c>name</c>
            </summary>
            <param name="name">The name of the appender to lookup</param>
            <returns>The appender with the name specified, or <c>null</c>.</returns>
            <remarks>
            Returns the named appender, or null if the appender is not found.
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.RemoveAllAppenders">
            <summary>
            Remove all previously added appenders from this Logger instance.
            </summary>
            <remarks>
            Remove all previously added appenders from this Logger instance.
            <para>This is useful when re-reading configuration information.</para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.RemoveAppender(log4net.Appender.IAppender)">
            <summary>
            Remove the appender passed as parameter form the list of appenders.
            </summary>
            <param name="appender">The appender to remove</param>
            <remarks>
            Remove the appender passed as parameter form the list of appenders.
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.RemoveAppender(System.String)">
            <summary>
            Remove the appender passed as parameter form the list of appenders.
            </summary>
            <param name="name">The name of the appender to remove</param>
            <remarks>
            Remove the named appender passed as parameter form the list of appenders.
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.Log(System.String,log4net.spi.Level,System.Object,System.Exception)">
            <summary>
            This generic form is intended to be used by wrappers.
            </summary>
            <param name="callerFullName">The wrapper class' fully qualified class name.</param>
            <param name="level">The level of the message to be logged.</param>
            <param name="message">The message object to log.</param>
            <param name="t">The exception to log, including its stack trace.</param>
            <remarks>
            Generate a logging event for the specified <paramref name="level"/> using
            the <paramref name="message"/> and <paramref name="t"/>.
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.Log(log4net.spi.LoggingEvent)">
            <summary>
            This is the most generic printing method. 
            This generic form is intended to be used by wrappers
            </summary>
            <param name="logEvent">The event being logged.</param>
            <remarks>
            Logs the logging event specified.
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.IsEnabledFor(log4net.spi.Level)">
            <summary>
            Checks if this logger is enabled for a given <see cref="P:log4net.Repository.Hierarchy.Logger.Level"/> passed as parameter.
            </summary>
            <param name="level">The level to check.</param>
            <returns>
            <c>true</c> if this logger is enabled for <c>level</c>, otherwise <c>false</c>.
            </returns>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.CallAppenders(log4net.spi.LoggingEvent)">
            <summary>
            Call the appenders in the hierarchy starting at
            <c>this</c>.  If no appenders could be found, emit a
            warning.
            </summary>
            <remarks>
            This method calls all the appenders inherited from the
            hierarchy circumventing any evaluation of whether to log or not
            to log the particular log request.
            </remarks>
            <param name="loggingEvent">The event to log.</param>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.CloseNestedAppenders">
            <summary>
            Closes all attached appenders implementing the IAppenderAttachable interface.
            </summary>
            <remarks>
            Used to ensure that the appenders are correctly shutdown.
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.Log(log4net.spi.Level,System.Object,System.Exception)">
            <summary>
            This is the most generic printing method. This generic form is intended to be used by wrappers
            </summary>
            <param name="level">The level of the message to be logged.</param>
            <param name="message">The message object to log.</param>
            <param name="t">The exception to log, including its stack trace.</param>
            <remarks>
            Generate a logging event for the specified <paramref name="level"/> using
            the <paramref name="message"/>.
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.ForcedLog(System.String,log4net.spi.Level,System.Object,System.Exception)">
            <summary>
            Creates a new logging event and logs the event without further checks.
            </summary>
            <param name="callerFullName">The wrapper class' fully qualified class name.</param>
            <param name="level">The level of the message to be logged.</param>
            <param name="message">The message object to log.</param>
            <param name="t">The exception to log, including its stack trace.</param>
            <remarks>
            Generates a logging event and delivers it to the attached
            appenders.
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Logger.ForcedLog(log4net.spi.LoggingEvent)">
            <summary>
            Creates a new logging event and logs the event without further checks.
            </summary>
            <param name="logEvent">The event being logged.</param>
            <remarks>
            Delivers the logging event to the attached appenders.
            </remarks>
        </member>
        <member name="F:log4net.Repository.Hierarchy.Logger.ThisClassFullName">
            <summary>
            The fully qualified name of the Logger class.
            </summary>
        </member>
        <member name="F:log4net.Repository.Hierarchy.Logger.m_name">
            <summary>
            The name of this logger.
            </summary>
        </member>
        <member name="F:log4net.Repository.Hierarchy.Logger.m_level">
            <summary>
            The assigned level of this logger. 
            </summary>
            <remarks>
            The <c>level</c> variable need not be 
            assigned a value in which case it is inherited 
            form the hierarchy.
            </remarks>
        </member>
        <member name="F:log4net.Repository.Hierarchy.Logger.m_parent">
            <summary>
            The parent of this logger.
            </summary>
            <remarks>
            The parent of this logger. All loggers have at least one ancestor which is the root logger.
            </remarks>
        </member>
        <member name="F:log4net.Repository.Hierarchy.Logger.m_hierarchy">
            <summary>
            Loggers need to know what Hierarchy they are in.
            </summary>
            <remarks>
            Loggers need to know what Hierarchy they are in.
            The hierarchy that this logger is a member of is stored
            here.
            </remarks>
        </member>
        <member name="F:log4net.Repository.Hierarchy.Logger.m_aai">
            <summary>
            Helper implementation of the <see cref="T:log4net.spi.IAppenderAttachable"/> interface
            </summary>
        </member>
        <member name="F:log4net.Repository.Hierarchy.Logger.m_additive">
            <summary>
            Flag indicating if child loggers inherit their parents appenders
            </summary>
            <remarks>
            Additivity is set to true by default, that is children inherit
            the appenders of their ancestors by default. If this variable is
            set to <c>false</c> then the appenders found in the
            ancestors of this logger are not used. However, the children
            of this logger will inherit its appenders, unless the children
            have their additivity flag set to <c>false</c> too. See
            the user manual for more details.
            </remarks>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Logger.Parent">
            <summary>
            Gets or sets the parent logger in the hierarchy.
            </summary>
            <value>
            The parent logger in the hierarchy.
            </value>
            <remarks>
            Part of the Composite pattern that makes the hierarchy.
            </remarks>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Logger.Additivity">
            <summary>
            Gets or sets a value indicating if child loggers inherit their parent's appenders.
            </summary>
            <value>
            <c>true</c> if child loggers inherit their parent's appenders.
            </value>
            <remarks>
            Additivity is set to <c>true</c> by default, that is children inherit
            the appenders of their ancestors by default. If this variable is
            set to <c>false</c> then the appenders found in the
            ancestors of this logger are not used. However, the children
            of this logger will inherit its appenders, unless the children
            have their additivity flag set to <c>false</c> too. See
            the user manual for more details.
            </remarks>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Logger.EffectiveLevel">
            <summary>
            Gets the effective level for this logger.
            </summary>
            <remarks>
            <para>
            Starting from this logger, searches the logger hierarchy for a
            non-null level and returns it. Otherwise, returns the level of the
            root logger.
            </para>
            <para>The Logger class is designed so that this method executes as
            quickly as possible.</para>
            </remarks>
            <returns>The nearest level in the logger hierarchy.</returns>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Logger.Hierarchy">
            <summary>
            Gets or sets the <see cref="P:log4net.Repository.Hierarchy.Logger.Hierarchy"/> where this 
            <c>Logger</c> instance is attached to.
            </summary>
            <value>The hierarchy that this logger belongs to.</value>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Logger.Level">
            <summary>
            Gets or sets the assigned <see cref="P:log4net.Repository.Hierarchy.Logger.Level"/>, if any, for this Logger.  
            </summary>
            <value>
            The <see cref="P:log4net.Repository.Hierarchy.Logger.Level"/> of this logger.
            </value>
            <remarks>
            The assigned <see cref="P:log4net.Repository.Hierarchy.Logger.Level"/> can be <c>null</c>.
            </remarks>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Logger.Appenders">
            <summary>
            Get the appenders contained in this logger as an 
            <see cref="T:System.Collections.ICollection"/>.
            </summary>
            <remarks>
            Get the appenders contained in this logger as an 
            <see cref="T:System.Collections.ICollection"/>. If no appenders 
            can be found, then a <see cref="T:log4net.helpers.EmptyCollection"/> is returned.
            </remarks>
            <returns>A collection of the appenders in this logger</returns>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Logger.Name">
            <summary>
            Gets the logger name.
            </summary>
            <value>
            The name of the logger.
            </value>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Logger.Repository">
            <summary>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> where this 
            <c>Logger</c> instance is attached to.
            </summary>
            <value>The <see cref="T:log4net.Repository.ILoggerRepository"/> that this logger belongs to.</value>
        </member>
        <member name="M:log4net.Repository.Hierarchy.DefaultLoggerFactory.LoggerImpl.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.DefaultLoggerFactory.LoggerImpl"/> class
            with the specified name. 
            </summary>
        </member>
        <member name="T:log4net.Repository.Hierarchy.DOMHierarchyConfigurator">
            <summary>
            Initializes the log4net environment using a DOM tree.
            </summary>
            <remarks>
            Configures a <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> using an XML DOM tree.
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.DOMHierarchyConfigurator.#ctor(log4net.Repository.Hierarchy.Hierarchy)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.DOMHierarchyConfigurator"/> class
            with the specified <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/>.
            </summary>
            <param name="hierarchy">The hierarchy to build.</param>
        </member>
        <member name="M:log4net.Repository.Hierarchy.DOMHierarchyConfigurator.Configure(System.Xml.XmlElement)">
            <summary>
            Configures the log4net framework by parsing a DOM tree of XML elements.
            </summary>
            <param name="element">The root element to parse.</param>
        </member>
        <member name="M:log4net.Repository.Hierarchy.DOMHierarchyConfigurator.FindAppenderByReference(System.Xml.XmlElement)">
            <summary>
            Parse appenders by IDREF.
            </summary>
            <param name="appenderRef">The appender ref element.</param>
            <returns>The instance of the appender that the ref refers to.</returns>
        </member>
        <member name="M:log4net.Repository.Hierarchy.DOMHierarchyConfigurator.ParseAppender(System.Xml.XmlElement)">
            <summary>
            Parses an appender element.
            </summary>
            <param name="appenderElement">The appender element.</param>
            <returns>The appender instance or <c>null</c> when parsing failed.</returns>
        </member>
        <member name="M:log4net.Repository.Hierarchy.DOMHierarchyConfigurator.ParseLogger(System.Xml.XmlElement)">
            <summary>
            Parses a logger element.
            </summary>
            <param name="loggerElement">The logger element.</param>
        </member>
        <member name="M:log4net.Repository.Hierarchy.DOMHierarchyConfigurator.ParseRoot(System.Xml.XmlElement)">
            <summary>
            Parses the root logger element.
            </summary>
            <param name="rootElement">The root element.</param>
        </member>
        <member name="M:log4net.Repository.Hierarchy.DOMHierarchyConfigurator.ParseChildrenOfLoggerElement(System.Xml.XmlElement,log4net.Repository.Hierarchy.Logger,System.Boolean)">
            <summary>
            Parses the children of a logger element.
            </summary>
            <param name="catElement">The category element.</param>
            <param name="log">The logger instance.</param>
            <param name="isRoot">Flag to indicate if the logger is the root logger.</param>
        </member>
        <member name="M:log4net.Repository.Hierarchy.DOMHierarchyConfigurator.ParseRenderer(System.Xml.XmlElement)">
            <summary>
            Parses an object renderer.
            </summary>
            <param name="element">The renderer element.</param>
        </member>
        <member name="M:log4net.Repository.Hierarchy.DOMHierarchyConfigurator.ParseLevel(System.Xml.XmlElement,log4net.Repository.Hierarchy.Logger,System.Boolean)">
            <summary>
            Parses a level element.
            </summary>
            <param name="element">The level element.</param>
            <param name="log">The logger object to set the level on.</param>
            <param name="isRoot">Flag to indicate if the logger is the root logger.</param>
        </member>
        <member name="M:log4net.Repository.Hierarchy.DOMHierarchyConfigurator.SetParameter(System.Xml.XmlElement,System.Object)">
            <summary>
            Sets a paramater on an object.
            </summary>
            <remarks>
            The parameter name must correspond to a writable property
            on the object. The value of the parameter is a string,
            therefore this function will attempt to set a string
            property first. If unable to set a string property it
            will inspect the property and its argument type. It will
            attempt to call a static method called 'Parse' on the
            type of the property. This method will take a single
            string argument and return a value that can be used to
            set the property.
            </remarks>
            <param name="element">The parameter element.</param>
            <param name="target">The object to set the parameter on.</param>
        </member>
        <member name="M:log4net.Repository.Hierarchy.DOMHierarchyConfigurator.ConvertStringTo(System.Type,System.String)">
            <summary>
            Converts a string value to a target type.
            </summary>
            <param name="type">The type of object to convert the string to.</param>
            <param name="value">The string value to use as the value of the object.</param>
            <returns>
            An object of type <paramref name="type"/> with value <paramref name="value"/> or 
            <c>null</c> when the conversion could not be performed.
            </returns>
        </member>
        <member name="M:log4net.Repository.Hierarchy.DOMHierarchyConfigurator.CreateObjectFromXml(System.Xml.XmlElement,System.Type,System.Type)">
            <summary>
            Creates an object as specified in XML.
            </summary>
            <param name="element">The XML element that contains the definition of the object.</param>
            <param name="defaultTargetType">The object type to use if not explicitly specified.</param>
            <param name="typeConstraint">The type that the returned object must be or must inherit from.</param>
            <returns>The object or <c>null</c></returns>
        </member>
        <member name="F:log4net.Repository.Hierarchy.DOMHierarchyConfigurator.m_appenderBag">
            <summary>
            key: appenderName, value: appender.
            </summary>
        </member>
        <member name="F:log4net.Repository.Hierarchy.DOMHierarchyConfigurator.m_hierarchy">
            <summary>
            The Hierarchy being configured.
            </summary>
        </member>
        <member name="T:log4net.Repository.Hierarchy.LoggerCreationEventHandler">
            <summary>
            Delegate used to handle logger creation event notifications.
            </summary>
            <param name="sender">The <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> in which the <see cref="T:log4net.Repository.Hierarchy.Logger"/> has been created.</param>
            <param name="e">The <see cref="T:log4net.Repository.Hierarchy.LoggerCreationEventArgs"/> event args that hold the <see cref="T:log4net.Repository.Hierarchy.Logger"/> instance that has been created.</param>
        </member>
        <member name="T:log4net.Repository.Hierarchy.LoggerCreationEventArgs">
            <summary>
            Provides data for the <see cref="E:log4net.Repository.Hierarchy.Hierarchy.LoggerCreatedEvent"/> event.
            </summary>
            <remarks>
            A <see cref="E:log4net.Repository.Hierarchy.Hierarchy.LoggerCreatedEvent"/> event is raised every time a
            <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/> is created.
            </remarks>
        </member>
        <member name="F:log4net.Repository.Hierarchy.LoggerCreationEventArgs.m_log">
            <summary>
            The <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/> created
            </summary>
        </member>
        <member name="M:log4net.Repository.Hierarchy.LoggerCreationEventArgs.#ctor(log4net.Repository.Hierarchy.Logger)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.LoggerCreationEventArgs"/> event argument 
            class,with the specified <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/>.
            </summary>
            <param name="log">The <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/> that has been created.</param>
        </member>
        <member name="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger">
            <summary>
            Gets the <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/> that has been created.
            </summary>
            <value>
            The <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/> that has been created.
            </value>
        </member>
        <member name="T:log4net.Repository.Hierarchy.HierarchyConfigurationChangedEventHandler">
            <summary>
            Delegate used to handle event notifications for hierarchy configuration changes.
            </summary>
            <param name="sender">The <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> that has had its configuration changed.</param>
            <param name="e">Empty event arguments.</param>
        </member>
        <member name="T:log4net.Repository.Hierarchy.Hierarchy">
            <summary>
            This class is specialized in retrieving loggers by name and
            also maintaining the logger hierarchy. Implements the 
            <see cref="T:log4net.Repository.ILoggerRepository"/> interface.
            </summary>
            <remarks>
            <para><i>The casual user should not have to deal with this class
            directly.</i></para>
            
            <para>The structure of the logger hierarchy is maintained by the
            <see cref="M:log4net.Repository.Hierarchy.Hierarchy.GetLogger(System.String)"/> method. The hierarchy is such that children
            link to their parent but parents do not have any references to their
            children. Moreover, loggers can be instantiated in any order, in
            particular descendant before ancestor.</para>
            
            <para>In case a descendant is created before a particular ancestor,
            then it creates a provision node for the ancestor and adds itself
            to the provision node. Other descendants of the same ancestor add
            themselves to the previously created provision node.</para>
            </remarks>
        </member>
        <member name="T:log4net.Repository.LoggerRepositorySkeleton">
            <summary>
            Skeleton implementation of the <see cref="T:log4net.Repository.ILoggerRepository"/> interface
            </summary>
            <remarks>
            Skeleton implementation of the <see cref="T:log4net.Repository.ILoggerRepository"/> interface.
            All <see cref="T:log4net.Repository.ILoggerRepository"/> types should extend this type.
            </remarks>
        </member>
        <member name="T:log4net.Repository.ILoggerRepository">
            <summary>
            Interface implemented by logger repositories.
            </summary>
            <remarks>
            <para>This interface is implemented by logger repositories. e.g. 
            <see cref="N:log4net.Repository.Hierarchy"/>.</para>
            
            <para>This interface is used by the <see cref="T:log4net.LogManager"/>
            to obtain <see cref="T:log4net.ILog"/> interfaces.</para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.ILoggerRepository.Exists(System.String)">
            <summary>
            Check if the named logger exists in the repository. If so return
            its reference, otherwise returns <c>null</c>.
            </summary>
            <param name="name">The name of the logger to lookup</param>
            <returns>The Logger object with the name specified</returns>
            <remarks>
            <para>If the names logger exists it is returned, otherwise
            <c>null</c> is returned.</para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.ILoggerRepository.GetCurrentLoggers">
            <summary>
            Returns all the currently defined loggers as an Array.
            </summary>
            <returns>All the defined loggers</returns>
            <remarks>
            <para>Returns all the currently defined loggers as an Array.</para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.ILoggerRepository.GetLogger(System.String)">
            <summary>
            Returns a named logger instance
            </summary>
            <param name="name">The name of the logger to retrieve</param>
            <returns>The logger object with the name specified</returns>
            <remarks>
            <para>Returns a named logger instance</para>
            
            <para>If a logger of that name already exists, then it will be
            returned.  Otherwise, a new logger will be instantiated and
            then linked with its existing ancestors as well as children.</para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.ILoggerRepository.Shutdown">
            <summary>Shutdown the repository</summary>
            <remarks>
            <para>Shutting down a repository will <i>safely</i> close and remove
            all appenders in all loggers including the root logger.</para>
            
            <para>Some appenders need to be closed before the
            application exists. Otherwise, pending logging events might be
            lost.</para>
            
            <para>The <see cref="M:log4net.Repository.ILoggerRepository.Shutdown"/> method is careful to close nested
            appenders before closing regular appenders. This is allows
            configurations where a regular appender is attached to a logger
            and again to a nested appender.</para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.ILoggerRepository.ResetConfiguration">
            <summary>
            Reset the repositories configuration to a default state
            </summary>
            <remarks>
            <para>Reset all values contained in this instance to their
            default state.</para>
            
            <para>Existing loggers are not removed. They are just reset.</para>
            
            <para>This method should be used sparingly and with care as it will
            block all logging until it is completed.</para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.ILoggerRepository.Log(log4net.spi.LoggingEvent)">
            <summary>
            Log the <see cref="T:log4net.spi.LoggingEvent"/> through this repository.
            </summary>
            <param name="logEvent">the event to log</param>
            <remarks>
            <para>
            This method should not normally be used to log.
            The <see cref="T:log4net.ILog"/> interface should be used 
            for routine logging. This interface can be obtained
            using the <see cref="M:log4net.LogManager.GetLogger(System.String)"/> method.
            </para>
            <para>
            The <c>logEvent</c> is delivered to the appropriate logger and
            that logger is then responsible for logging the event.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.ILoggerRepository.Name">
            <summary>
            The name of the repository
            </summary>
            <value>
            The name of the repository
            </value>
            <remarks>
            <para>The name of the repository</para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.ILoggerRepository.RendererMap">
            <summary>
            RendererMap accesses the object renderer map for this repository.
            </summary>
            <value>
            RendererMap accesses the object renderer map for this repository.
            </value>
            <remarks>
            <para>RendererMap accesses the object renderer map for this repository.</para>
            
            <para>The RendererMap holds a mapping between types and
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/> objects.</para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.ILoggerRepository.PluginMap">
            <summary>
            The plugin map for this repository.
            </summary>
            <value>
            The plugin map for this repository.
            </value>
        </member>
        <member name="P:log4net.Repository.ILoggerRepository.LevelMap">
            <summary>
            Get the level map for the Repository.
            </summary>
            <remarks>
            <para>Get the level map for the Repository.</para>
            <para>The level map defines the mappings between
            level names and <see cref="T:log4net.spi.Level"/> objects in
            this repository.</para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.ILoggerRepository.Threshold">
            <summary>
            The threshold for all events in this repository
            </summary>
            <value>
            The threshold for all events in this repository
            </value>
            <remarks>
            The threshold for all events in this repository
            </remarks>
        </member>
        <member name="P:log4net.Repository.ILoggerRepository.Configured">
            <summary>
            Flag indicates if this repository has been configured.
            </summary>
            <value>
            Flag indicates if this repository has been configured.
            </value>
        </member>
        <member name="E:log4net.Repository.ILoggerRepository.ShutdownEvent">
            <summary>
            Event to notify that the repository has been shutdown.
            </summary>
            <value>
            Event to notify that the repository has been shutdown.
            </value>
        </member>
        <member name="E:log4net.Repository.ILoggerRepository.ConfigurationResetEvent">
            <summary>
            Event to notify that the repository has had its configuration reset.
            </summary>
            <value>
            Event to notify that the repository has had its configuration reset.
            </value>
        </member>
        <member name="P:log4net.Repository.ILoggerRepository.Properties">
            <summary>
            Repository specific properties
            </summary>
            <remarks>
            These properties can be specified on a reporitory specific basis
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.#ctor">
            <summary>
            Default Construtor
            </summary>
            <remarks>
            Initialises the repository with default (empty) properties
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.#ctor(log4net.helpers.PropertiesCollection)">
            <summary>
            Construct the repository using specific properties
            </summary>
            <param name="properties">the properties to set for this repository</param>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.Exists(System.String)">
            <summary>
            Check if the named logger exists in the repository. If so return
            its reference, otherwise returns <c>null</c>.
            </summary>
            <param name="name">The name of the logger to lookup</param>
            <returns>The Logger object with the name specified</returns>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.GetCurrentLoggers">
            <summary>
            Returns all the currently defined loggers in the repository as an Array
            </summary>
            <remarks>
            Returns all the currently defined loggers in the repository as an Array.
            The root logger is <b>not</b> included in the returned
            enumeration.
            </remarks>
            <returns>All the defined loggers</returns>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.GetLogger(System.String)">
            <summary>
            Return a new logger instance
            </summary>
            <remarks>
            <para>Return a new logger instance.</para>
            
            <para>If a logger of that name already exists, then it will be
            returned.  Otherwise, a new logger will be instantiated and
            then linked with its existing ancestors as well as children.</para>
            </remarks>
            <param name="name">The name of the logger to retrieve</param>
            <returns>The logger object with the name specified</returns>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.Shutdown">
            <summary>
            Shutdown the repository
            </summary>
            <remarks>
            Shutdown the repository. Can be overriden in a subclass.
            This base class implementation notifies the <see cref="E:log4net.Repository.LoggerRepositorySkeleton.ShutdownEvent"/>
            listeners and all attached plugins of the shutdown event.
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.ResetConfiguration">
            <summary>
            Reset the repositories configuration to a default state
            </summary>
            <remarks>
            <para>Reset all values contained in this instance to their
            default state.</para>
            
            <para>Existing loggers are not removed. They are just reset.</para>
            
            <para>This method should be used sparingly and with care as it will
            block all logging until it is completed.</para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.Log(log4net.spi.LoggingEvent)">
            <summary>
            Log the logEvent through this repository.
            </summary>
            <param name="logEvent">the event to log</param>
            <remarks>
            <para>
            This method should not normally be used to log.
            The <see cref="T:log4net.ILog"/> interface should be used 
            for routine logging. This interface can be obtained
            using the <see cref="M:log4net.LogManager.GetLogger(System.String)"/> method.
            </para>
            <para>
            The <c>logEvent</c> is delivered to the appropriate logger and
            that logger is then responsible for logging the event.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.AddRenderer(System.Type,log4net.ObjectRenderer.IObjectRenderer)">
            <summary>
            Adds an object renderer for a specific class. 
            </summary>
            <param name="classToRender">The type that will be rendered by the renderer supplied.</param>
            <param name="objectRenderer">The object renderer used to render the object.</param>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.FireShutdownEvent">
            <summary>
            Notify the registered listeners that the repository is shutting down
            </summary>
        </member>
        <member name="M:log4net.Repository.LoggerRepositorySkeleton.FireConfigurationResetEvent">
            <summary>
            Notify the registered listeners that the repository has had its configuration reset
            </summary>
        </member>
        <member name="P:log4net.Repository.LoggerRepositorySkeleton.Name">
            <summary>
            The name of the repository
            </summary>
            <value>
            The string name of the repository
            </value>
        </member>
        <member name="P:log4net.Repository.LoggerRepositorySkeleton.Threshold">
            <summary>
            The threshold for all events in this repository
            </summary>
            <value>
            The threshold for all events in this repository
            </value>
            <remarks>
            The threshold for all events in this repository
            </remarks>
        </member>
        <member name="P:log4net.Repository.LoggerRepositorySkeleton.RendererMap">
            <summary>
            RendererMap accesses the object renderer map for this repository.
            </summary>
            <value>
            RendererMap accesses the object renderer map for this repository.
            </value>
            <remarks>
            <para>RendererMap accesses the object renderer map for this repository.</para>
            
            <para>The RendererMap holds a mapping between types and
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/> objects.</para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.LoggerRepositorySkeleton.PluginMap">
            <summary>
            The plugin map for this repository.
            </summary>
            <value>
            The plugin map for this repository.
            </value>
        </member>
        <member name="P:log4net.Repository.LoggerRepositorySkeleton.LevelMap">
            <summary>
            Get the level map for the Repository.
            </summary>
            <remarks>
            <para>Get the level map for the Repository.</para>
            <para>The level map defines the mappings between
            level names and <see cref="T:log4net.spi.Level"/> objects in
            this repository.</para>
            </remarks>
        </member>
        <member name="P:log4net.Repository.LoggerRepositorySkeleton.Configured">
            <summary>
            Flag indicates if this repository has been configured.
            </summary>
            <value>
            Flag indicates if this repository has been configured.
            </value>
        </member>
        <member name="E:log4net.Repository.LoggerRepositorySkeleton.ShutdownEvent">
            <summary>
            Event to notify that the repository has been shutdown.
            </summary>
            <value>
            Event to notify that the repository has been shutdown.
            </value>
        </member>
        <member name="E:log4net.Repository.LoggerRepositorySkeleton.ConfigurationResetEvent">
            <summary>
            Event to notify that the repository has had its configuration reset.
            </summary>
            <value>
            Event to notify that the repository has had its configuration reset.
            </value>
        </member>
        <member name="P:log4net.Repository.LoggerRepositorySkeleton.Properties">
            <summary>
            Repository specific properties
            </summary>
            <remarks>
            These properties can be specified on a reporitory specific basis
            </remarks>
        </member>
        <member name="T:log4net.Repository.IBasicRepositoryConfigurator">
            <summary>
            </summary>
            <remarks>
            </remarks>
        </member>
        <member name="M:log4net.Repository.IBasicRepositoryConfigurator.Configure(log4net.Appender.IAppender)">
            <summary>
            Initialise the log4net system using the specified appender
            </summary>
            <param name="appender">the appender to use to log all logging events</param>
        </member>
        <member name="T:log4net.Repository.IDOMRepositoryConfigurator">
            <summary>
            </summary>
            <remarks>
            </remarks>
        </member>
        <member name="M:log4net.Repository.IDOMRepositoryConfigurator.Configure(System.Xml.XmlElement)">
            <summary>
            Initialise the log4net system using the specified config
            </summary>
            <param name="element">the element containing the root of the config</param>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> class.
            </summary>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.#ctor(log4net.helpers.PropertiesCollection)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> class.
            </summary>
            <param name="properties">The properties to pass to this repository.</param>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.#ctor(log4net.Repository.Hierarchy.ILoggerFactory)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> class with 
            the specified <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory"/>.
            </summary>
            <param name="loggerFactory">The factory to use to create new logger instances.</param>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.#ctor(log4net.helpers.PropertiesCollection,log4net.Repository.Hierarchy.ILoggerFactory)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> class with 
            the specified <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory"/>.
            </summary>
            <param name="properties">The properties to pass to this repository.</param>
            <param name="loggerFactory">The factory to use to create new logger instances.</param>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.Exists(System.String)">
            <summary>
            Check if the named logger exists in the hierarchy. If so return
            its reference, otherwise returns <c>null</c>.
            </summary>
            <param name="name">The name of the logger to lookup</param>
            <returns>The Logger object with the name specified</returns>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.GetCurrentLoggers">
            <summary>
            Returns all the currently defined loggers in the hierarchy as an Array
            </summary>
            <remarks>
            Returns all the currently defined loggers in the hierarchy as an Array.
            The root logger is <b>not</b> included in the returned
            enumeration.
            </remarks>
            <returns>All the defined loggers</returns>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.GetLogger(System.String)">
            <summary>
            Return a new logger instance named as the first parameter using
            the default factory.
            </summary>
            <remarks>
            Return a new logger instance named as the first parameter using
            the default factory.
            
            <para>If a logger of that name already exists, then it will be
            returned.  Otherwise, a new logger will be instantiated and
            then linked with its existing ancestors as well as children.</para>
            </remarks>
            <param name="name">The name of the logger to retrieve</param>
            <returns>The logger object with the name specified</returns>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.Shutdown">
            <summary>
            Shutting down a hierarchy will <i>safely</i> close and remove
            all appenders in all loggers including the root logger.
            </summary>
            <remarks>
            Shutting down a hierarchy will <i>safely</i> close and remove
            all appenders in all loggers including the root logger.
            
            <para>Some appenders need to be closed before the
            application exists. Otherwise, pending logging events might be
            lost.</para>
            
            <para>The <c>Shutdown</c> method is careful to close nested
            appenders before closing regular appenders. This is allows
            configurations where a regular appender is attached to a logger
            and again to a nested appender.</para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.ResetConfiguration">
            <summary>
            Reset all values contained in this hierarchy instance to their default.
            </summary>
            <remarks>
            Reset all values contained in this hierarchy instance to their
            default.  This removes all appenders from all loggers, sets
            the level of all non-root loggers to <c>null</c>,
            sets their additivity flag to <c>true</c> and sets the level
            of the root logger to <see cref="F:log4net.spi.Level.DEBUG"/>. Moreover,
            message disabling is set its default "off" value.
            
            <para>Existing loggers are not removed. They are just reset.</para>
            
            <para>This method should be used sparingly and with care as it will
            block all logging until it is completed.</para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.Log(log4net.spi.LoggingEvent)">
            <summary>
            Log the logEvent through this hierarchy.
            </summary>
            <param name="logEvent">the event to log</param>
            <remarks>
            <para>
            This method should not normally be used to log.
            The <see cref="T:log4net.ILog"/> interface should be used 
            for routine logging. This interface can be obtained
            using the <see cref="M:log4net.LogManager.GetLogger(System.String)"/> method.
            </para>
            <para>
            The <c>logEvent</c> is delivered to the appropriate logger and
            that logger is then responsible for logging the event.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.log4net#Repository#IBasicRepositoryConfigurator#Configure(log4net.Appender.IAppender)">
            <summary>
            Initialise the log4net system using the specified appender
            </summary>
            <param name="appender">the appender to use to log all logging events</param>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.log4net#Repository#IDOMRepositoryConfigurator#Configure(System.Xml.XmlElement)">
            <summary>
            Initialise the log4net system using the specified config
            </summary>
            <param name="element">the element containing the root of the config</param>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.IsDisabled(log4net.spi.Level)">
            <summary>
            Test if this hierarchy is disabled for the specified <see cref="T:log4net.spi.Level"/>.
            </summary>
            <param name="level">The level to check against.</param>
            <returns>
            <c>true</c> if the repository is disabled for the level argument, <c>false</c> otherwise.
            </returns>
            <remarks>
            <para>
            If this hierarchy has not been configured then this method will
            always return <c>true</c>.
            </para>
            <para>
            This method will return <c>true</c> if this repository is
            disabled for <c>level</c> object passed as parameter and
            <c>false</c> otherwise.
            </para>
            <para>
            See also the <see cref="P:log4net.Repository.ILoggerRepository.Threshold"/> property.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.Clear">
            <summary>
            Clear all logger definitions from the internal hashtable
            </summary>
            <remarks>
            This call will clear all logger definitions from the internal
            hashtable. Invoking this method will irrevocably mess up the
            logger hierarchy.
            
            <para>You should <b>really</b> know what you are doing before
            invoking this method.</para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.GetLogger(System.String,log4net.Repository.Hierarchy.ILoggerFactory)">
            <summary>
            Return a new logger instance named as the first parameter using
            <paramref name="factory"/>.
            </summary>
            <remarks>
            If a logger of that name already exists, then it will be
            returned. Otherwise, a new logger will be instantiated by the
            <paramref name="factory"/> parameter and linked with its existing
            ancestors as well as children.
            </remarks>
            <param name="name">The name of the logger to retrieve</param>
            <param name="factory">The factory that will make the new logger instance</param>
            <returns>The logger object with the name specified</returns>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.FireConfigurationChangedEvent">
            <summary>
            Notify the registered listeners that the hierarchy has had its configuration changed
            </summary>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.FireLoggerCreationEvent(log4net.Repository.Hierarchy.Logger)">
            <summary>
            Sends a logger creation event to all registered listeners
            </summary>
            <param name="logger">The newly created logger</param>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.UpdateParents(log4net.Repository.Hierarchy.Logger)">
            <summary>
            Updates all the parents of the specified logger
            </summary>
            <remarks>
            This method loops through all the <i>potential</i> parents of
            'log'. There 3 possible cases:
            <list type="number">
            	<item>
            		<term>No entry for the potential parent of 'log' exists</term>
            		<description>We create a ProvisionNode for this potential 
            		parent and insert 'log' in that provision node.</description>
            	</item>
            	<item>
            		<term>There entry is of type Logger for the potential parent.</term>
            		<description>The entry is 'log's nearest existing parent. We 
            		update log's parent field with this entry. We also break from 
            		he loop because updating our parent's parent is our parent's 
            		responsibility.</description>
            	</item>
            	<item>
            		<term>There entry is of type ProvisionNode for this potential parent.</term>
            		<description>We add 'log' to the list of children for this 
            		potential parent.</description>
            	</item>
            </list>
            </remarks>
            <param name="log">The logger to update the parents for</param>
        </member>
        <member name="M:log4net.Repository.Hierarchy.Hierarchy.UpdateChildren(log4net.Repository.Hierarchy.ProvisionNode,log4net.Repository.Hierarchy.Logger)">
            <summary>
            Replace a <see cref="T:log4net.Repository.Hierarchy.ProvisionNode"/> with a <see cref="T:log4net.Repository.Hierarchy.Logger"/> in the hierarchy.
            </summary>
            <remarks>
            <para>We update the links for all the children that placed themselves
            in the provision node 'pn'. The second argument 'log' is a
            reference for the newly created Logger, parent of all the
            children in 'pn'</para>
            
            <para>We loop on all the children 'c' in 'pn':</para>
            
            <para>If the child 'c' has been already linked to a child of
            'log' then there is no need to update 'c'.</para>
            
            <para>Otherwise, we set log's parent field to c's parent and set
            c's parent field to log.</para>
            </remarks>
            <param name="pn"></param>
            <param name="log"></param>
        </member>
        <member name="E:log4net.Repository.Hierarchy.Hierarchy.LoggerCreatedEvent">
            <summary>
            Event used to notify that a logger has been created.
            </summary>
        </member>
        <member name="E:log4net.Repository.Hierarchy.Hierarchy.ConfigurationChangedEvent">
            <summary>
            Event to notify that the hierarchy has had its configuration changed.
            </summary>
            <value>
            Event to notify that the hierarchy has had its configuration changed.
            </value>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Hierarchy.EmittedNoAppenderWarning">
            <summary>
            Flag to indicate if we have already issued a warning
            about not having an appender warning.
            </summary>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Hierarchy.Root">
            <summary>
            Gets the root of this hierarchy.
            </summary>
        </member>
        <member name="P:log4net.Repository.Hierarchy.Hierarchy.LoggerFactory">
            <summary>
            Gets or sets the default <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory"/> instance.
            </summary>
            <value>The default <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory"/>.</value>
        </member>
        <member name="T:log4net.Repository.Hierarchy.LoggerKey">
            <summary>
            Used internally to accelerate hash table searches.
            </summary>
        </member>
        <member name="M:log4net.Repository.Hierarchy.LoggerKey.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.LoggerKey"/> class 
            with the specified name.
            </summary>
            <param name="name">The name of the logger.</param>
        </member>
        <member name="M:log4net.Repository.Hierarchy.LoggerKey.GetHashCode">
            <summary>
            Returns a hash code for the current instance.
            </summary>
            <returns>A hash code for the current instance.</returns>
        </member>
        <member name="M:log4net.Repository.Hierarchy.LoggerKey.Equals(System.Object)">
            <summary>
            Determines whether two <see cref="T:log4net.Repository.Hierarchy.LoggerKey"/> instances 
            are equal.
            </summary>
            <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:log4net.Repository.Hierarchy.LoggerKey"/>.</param>
            <returns>
            <c>true</c> if the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:log4net.Repository.Hierarchy.LoggerKey"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="P:log4net.Repository.Hierarchy.LoggerKey.Value">
            <summary>
            Gets the name of the logger.
            </summary>
            <value>
            The name of the logger.
            </value>
        </member>
        <member name="T:log4net.Repository.Hierarchy.ProvisionNode">
            <summary>
            ProvisionNodes are used in the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> when
            there is no specified <see cref="T:log4net.Repository.Hierarchy.Logger"/> for that node.
            </summary>
        </member>
        <member name="M:log4net.Repository.Hierarchy.ProvisionNode.#ctor(log4net.Repository.Hierarchy.Logger)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.ProvisionNode"/> class 
            with the specified child logger.
            </summary>
            <param name="log">A child logger to add to this node.</param>
        </member>
        <member name="T:log4net.Repository.Hierarchy.RootLogger">
            <summary>
            The <see cref="T:log4net.Repository.Hierarchy.RootLogger"/> sits at the top of the logger hierarchy. 
            </summary>
            <remarks>
            <para>
            The <see cref="T:log4net.Repository.Hierarchy.RootLogger"/> is a regular <see cref="T:log4net.Repository.Hierarchy.Logger"/> except 
            that it provides several guarantees.
            </para>
            <para>
            First, it cannot be assigned a <c>null</c>
            level. Second, since the root logger cannot have a parent, the
            <see cref="P:log4net.Repository.Hierarchy.RootLogger.EffectiveLevel"/> property always returns the value of the
            level field without walking the hierarchy.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.Repository.Hierarchy.RootLogger.#ctor(log4net.spi.Level)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.RootLogger"/> class with
            the specified logging level.
            </summary>
            <param name="level">The level to assign to the root logger.</param>
            <remarks>
            The root logger names itself as "root". However, the root
            logger cannot be retrieved by name.
            </remarks>
        </member>
        <member name="P:log4net.Repository.Hierarchy.RootLogger.EffectiveLevel">
            <summary>
            Gets the assigned level value without walking the logger hierarchy.
            </summary>
            <value>The assigned level value without walking the logger hierarchy.</value>
        </member>
        <member name="P:log4net.Repository.Hierarchy.RootLogger.Level">
            <summary>
            Gets or sets the assigned <see cref="P:log4net.Repository.Hierarchy.RootLogger.Level"/>, if any, for the root
            logger.  
            </summary>
            <value>
            The <see cref="P:log4net.Repository.Hierarchy.RootLogger.Level"/> of the root logger.
            </value>
            <summary>
            Setting the level of the root logger to a null reference
            may have catastrophic results. We prevent this here.
            </summary>
        </member>
        <member name="T:log4net.Repository.LoggerRepositoryShutdownEventHandler">
            <summary>
            Delegate used to handle logger repository shutdown event notifications
            </summary>
            <param name="sender">The <see cref="T:log4net.Repository.ILoggerRepository"/> 
            that is shutting down.</param>
            <param name="e">Empty event args</param>
            <remarks>
            Delegate used to handle logger repository shutdown event notifications
            </remarks>
        </member>
        <member name="T:log4net.Repository.LoggerRepositoryConfigurationResetEventHandler">
            <summary>
            Delegate used to handle logger repository configuration reset event notifications
            </summary>
            <param name="sender">The <see cref="T:log4net.Repository.ILoggerRepository"/> 
            that has had its configuration reset.</param>
            <param name="e">Empty event args</param>
            <remarks>
            Delegate used to handle logger repository configuration reset event notifications
            </remarks>
        </member>
        <member name="T:log4net.spi.DefaultRepositorySelector">
            <summary>
            The default implementation of the <see cref="T:log4net.spi.IRepositorySelector"/> interface.
            </summary>
            <remarks>
            Uses attributes defined on the calling assembly to determine how to
            configure the hierarchy for the domain..
            </remarks>
        </member>
        <member name="T:log4net.spi.IRepositorySelector">
            <summary>
            Interface used my the <see cref="T:log4net.LogManager"/> to select the <see cref="T:log4net.Repository.ILoggerRepository"/>.
            </summary>
            <remarks>
            The <see cref="T:log4net.LogManager"/> uses a <see cref="T:log4net.spi.IRepositorySelector"/> to specify the policy for
            selecting the correct <see cref="T:log4net.Repository.ILoggerRepository"/> to return to the caller.
            </remarks>
        </member>
        <member name="M:log4net.spi.IRepositorySelector.GetRepository(System.Reflection.Assembly)">
            <summary>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly.
            </summary>
            <param name="domainAssembly">The assembly to use to lookup to the <see cref="T:log4net.Repository.ILoggerRepository"/></param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> for the assembly.</returns>
        </member>
        <member name="M:log4net.spi.IRepositorySelector.GetRepository(System.String)">
            <summary>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified domain
            </summary>
            <param name="domain">The domain to use to lookup to the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> for the domain.</returns>
        </member>
        <member name="M:log4net.spi.IRepositorySelector.CreateRepository(System.Reflection.Assembly,System.Type)">
            <summary>
            Creates a new repository for the assembly specified.
            </summary>
            <param name="domainAssembly">The assembly to use to create the domain to associate with the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
            <param name="repositoryType">The type of repository to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
            <returns>The repository created.</returns>
            <remarks>
            <para>The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the domain
            specified such that a call to <see cref="M:log4net.spi.IRepositorySelector.GetRepository(System.Reflection.Assembly)"/> with the
            same assembly specified will return the same repository instance.</para>
            </remarks>
        </member>
        <member name="M:log4net.spi.IRepositorySelector.CreateRepository(System.String,System.Type)">
            <summary>
            Creates a new repository for the domain specified.
            </summary>
            <param name="domain">The domain to associate with the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
            <param name="repositoryType">The type of repository to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
            <returns>The repository created.</returns>
            <remarks>
            <para>The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the domain
            specified such that a call to <see cref="M:log4net.spi.IRepositorySelector.GetRepository(System.String)"/> with the
            same domain specified will return the same repository instance.</para>
            </remarks>
        </member>
        <member name="M:log4net.spi.IRepositorySelector.GetAllRepositories">
            <summary>
            Gets the list of currently defined repositories.
            </summary>
            <returns>
            An array of the <see cref="T:log4net.Repository.ILoggerRepository"/> instances created by 
            this <see cref="T:log4net.spi.IRepositorySelector"/>.</returns>
        </member>
        <member name="E:log4net.spi.IRepositorySelector.LoggerRepositoryCreatedEvent">
            <summary>
            Event to notify that a logger repository has been created.
            </summary>
            <value>
            Event to notify that a logger repository has been created.
            </value>
        </member>
        <member name="M:log4net.spi.DefaultRepositorySelector.#ctor(System.Type)">
            <summary>
            Creates a new repository selector.
            </summary>
            <param name="defaultRepositoryType">The type of the repositories to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/></param>
            <exception cref="T:System.ArgumentNullException"><paramref name="defaultRepositoryType"/> is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="defaultRepositoryType"/> does not implement <see cref="T:log4net.Repository.ILoggerRepository"/>.</exception>
        </member>
        <member name="M:log4net.spi.DefaultRepositorySelector.GetRepository(System.Reflection.Assembly)">
            <summary>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly.
            </summary>
            <param name="domainAssembly">The assembly use to lookup the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
            <remarks>
            <para>
            The type of the <see cref="T:log4net.Repository.ILoggerRepository"/> created and the domain 
            to create can be overridden by specifying the <see cref="T:log4net.Config.DomainAttribute"/> 
            attribute on the <paramref name="assembly"/>.
            </para>
            <para>
            The default values are to use the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> 
            implementation of the <see cref="T:log4net.Repository.ILoggerRepository"/> interface and to use the
            <see cref="P:System.Reflection.AssemblyName.Name"/> as the name of the domain.
            </para>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be automatically configured using 
            any <see cref="T:log4net.Config.ConfiguratorAttribute"/> attributes defined on
            the <paramref name="assembly"/>.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentNullException"><paramref name="assembly"/> is null.</exception>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> for the assembly</returns>
        </member>
        <member name="M:log4net.spi.DefaultRepositorySelector.GetRepository(System.String)">
            <summary>
            Get the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified domain
            </summary>
            <param name="domain">the domain to use to lookup to the <see cref="T:log4net.Repository.ILoggerRepository"/></param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> for the domain</returns>
            <exception cref="T:System.ArgumentNullException">throw if <paramref name="domain"/> is null</exception>
            <exception cref="T:log4net.spi.LogException">throw if the <paramref name="domain"/> does not exist</exception>
        </member>
        <member name="M:log4net.spi.DefaultRepositorySelector.CreateRepository(System.Reflection.Assembly,System.Type)">
            <summary>
            Create a new repository for the assembly specified 
            </summary>
            <param name="domainAssembly">the assembly to use to create the domain to associate with the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
            <param name="repositoryType">The type of repository to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
            <returns>The repository created.</returns>
            <remarks>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the domain
            specified such that a call to <see cref="M:log4net.spi.DefaultRepositorySelector.GetRepository(System.Reflection.Assembly)"/> with the
            same assembly specified will return the same repository instance.
            </para>
            <para>
            The type of the <see cref="T:log4net.Repository.ILoggerRepository"/> created and
            the domain to create can be overridden by specifying the
            <see cref="T:log4net.Config.DomainAttribute"/> attribute on the 
            <paramref name="assembly"/>.  The default values are to use the 
            <paramref name="repositoryType"/> implementation of the 
            <see cref="T:log4net.Repository.ILoggerRepository"/> interface and to use the
            <see cref="P:System.Reflection.AssemblyName.Name"/> as the name of the domain.
            </para>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be automatically
            configured using any <see cref="T:log4net.Config.ConfiguratorAttribute"/> 
            attributes defined on the <paramref name="domainAssembly"/>.
            </para>
            <para>
            If a repository for the <paramref name="domainAssembly"/> already exists
            that repository will be returned. An error will not be raised and that 
            repository may be of a different type to that specified in <paramref name="repositoryType"/>.
            Also the <see cref="T:log4net.Config.DomainAttribute"/> attribute on the
            assembly may be used to override the repository type specified in 
            <paramref name="repositoryType"/>.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="domainAssembly"/> is null.</exception>
        </member>
        <member name="M:log4net.spi.DefaultRepositorySelector.CreateRepository(System.Reflection.Assembly,System.Type,System.String,System.Boolean)">
            <summary>
            Create a new repository for the assembly specified 
            </summary>
            <param name="domainAssembly">the assembly to use to create the domain to associate with the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
            <param name="repositoryType">The type of repository to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
            <param name="domainName">The name to assign to the created repository</param>
            <param name="readAssemblyAttributes">Set to <c>true</c> to read and apply the assembly attributes</param>
            <returns>The repository created.</returns>
            <remarks>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the domain
            specified such that a call to <see cref="M:log4net.spi.DefaultRepositorySelector.GetRepository(System.Reflection.Assembly)"/> with the
            same assembly specified will return the same repository instance.
            </para>
            <para>
            The type of the <see cref="T:log4net.Repository.ILoggerRepository"/> created and
            the domain to create can be overridden by specifying the
            <see cref="T:log4net.Config.DomainAttribute"/> attribute on the 
            <paramref name="assembly"/>.  The default values are to use the 
            <paramref name="repositoryType"/> implementation of the 
            <see cref="T:log4net.Repository.ILoggerRepository"/> interface and to use the
            <see cref="P:System.Reflection.AssemblyName.Name"/> as the name of the domain.
            </para>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be automatically
            configured using any <see cref="T:log4net.Config.ConfiguratorAttribute"/> 
            attributes defined on the <paramref name="domainAssembly"/>.
            </para>
            <para>
            If a repository for the <paramref name="domainAssembly"/> already exists
            that repository will be returned. An error will not be raised and that 
            repository may be of a different type to that specified in <paramref name="repositoryType"/>.
            Also the <see cref="T:log4net.Config.DomainAttribute"/> attribute on the
            assembly may be used to override the repository type specified in 
            <paramref name="repositoryType"/>.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="domainAssembly"/> is null.</exception>
        </member>
        <member name="M:log4net.spi.DefaultRepositorySelector.CreateRepository(System.String,System.Type)">
            <summary>
            Create a new repository for the domain specified
            </summary>
            <param name="domain">the domain to associate with the <see cref="T:log4net.Repository.ILoggerRepository"/></param>
            <param name="repositoryType">the type of repository to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/>.
            If this param is null then the default repository type is used.</param>
            <returns>the repository created</returns>
            <remarks>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the domain
            specified such that a call to <see cref="M:log4net.spi.DefaultRepositorySelector.GetRepository(System.String)"/> with the
            same domain specified will return the same repository instance.
            </remarks>
            <exception cref="T:System.ArgumentNullException">throw if <paramref name="domain"/> is null</exception>
            <exception cref="T:log4net.spi.LogException">throw if the <paramref name="domain"/> already exists</exception>
        </member>
        <member name="M:log4net.spi.DefaultRepositorySelector.GetAllRepositories">
            <summary>
            Copy the list of <see cref="T:log4net.Repository.ILoggerRepository"/> objects
            </summary>
            <returns>an array of all known <see cref="T:log4net.Repository.ILoggerRepository"/> objects</returns>
        </member>
        <member name="M:log4net.spi.DefaultRepositorySelector.AliasRepository(System.String,log4net.Repository.ILoggerRepository)">
            <summary>
            Alias a domain to an existing repository.
            </summary>
            <param name="domain">The domain to alias.</param>
            <param name="repository">The repository that the domain is aliased to.</param>
            <remarks>
            <para>
            Aliases a domain to an existing repository.
            </para>
            <para>
            The domain specified will be aliased to the repository when created. 
            The domain must not already exist.
            </para>
            <para>
            When the domain is created it must utilise the same reporitory type as 
            the domain it is aliased to, otherwise the aliasing will fail.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.spi.DefaultRepositorySelector.FireLoggerRepositoryCreatedEvent(log4net.Repository.ILoggerRepository)">
            <summary>
            Notifies the registered listeners that the repository has been created.
            </summary>
            <param name="repository">The repository that has been created</param>
        </member>
        <member name="M:log4net.spi.DefaultRepositorySelector.GetInfoForAssembly(System.Reflection.Assembly,System.String@,System.Type@)">
            <summary>
            Get the domain and repository type for the specified assembly
            </summary>
            <param name="assembly">the assembly that has a <see cref="T:log4net.Config.DomainAttribute"/></param>
            <param name="domain">in/out param to hold the domain to use for the assembly, caller should set this to the default value before calling</param>
            <param name="repositoryType">in/out param to hold the type of the repository to create for the domain, caller should set this to the default value before calling</param>
        </member>
        <member name="M:log4net.spi.DefaultRepositorySelector.ConfigureRepository(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
            <summary>
            Configure the repository using information from the assembly
            </summary>
            <param name="assembly">The assembly containing <see cref="T:log4net.Config.ConfiguratorAttribute"/>
            attributes which define the configuration for the repository</param>
            <param name="repository">the repository to configure</param>
        </member>
        <member name="M:log4net.spi.DefaultRepositorySelector.LoadPlugins(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
            <summary>
            Load the attribute defined plugins on the assembly
            </summary>
            <param name="assembly">the assembly that contains the attributes</param>
            <param name="repository">the repository to alias to</param>
        </member>
        <member name="M:log4net.spi.DefaultRepositorySelector.LoadAliases(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
            <summary>
            Load the attribute defined aliases on the assembly
            </summary>
            <param name="assembly">the assembly that contains the attributes</param>
            <param name="repository">the repository to alias to</param>
        </member>
        <member name="E:log4net.spi.DefaultRepositorySelector.LoggerRepositoryCreatedEvent">
            <summary>
            Event to notify that a logger repository has been created.
            </summary>
            <value>
            Event to notify that a logger repository has been created.
            </value>
        </member>
        <member name="T:log4net.spi.ErrorCodes">
            <summary>
            Defined error codes that can be passed to the <see cref="M:log4net.spi.IErrorHandler.Error(System.String,System.Exception,log4net.spi.ErrorCodes)"/> method.
            </summary>
        </member>
        <member name="F:log4net.spi.ErrorCodes.GenericFailure">
            <summary>
            A general error
            </summary>
        </member>
        <member name="F:log4net.spi.ErrorCodes.WriteFailure">
            <summary>
            Error while writing output
            </summary>
        </member>
        <member name="F:log4net.spi.ErrorCodes.FlushFailure">
            <summary>
            Failed to flush file
            </summary>
        </member>
        <member name="F:log4net.spi.ErrorCodes.CloseFailure">
            <summary>
            Failed to close file
            </summary>
        </member>
        <member name="F:log4net.spi.ErrorCodes.FileOpenFailure">
            <summary>
            Unable to open output file
            </summary>
        </member>
        <member name="F:log4net.spi.ErrorCodes.MissingLayout">
            <summary>
            No layout specified
            </summary>
        </member>
        <member name="F:log4net.spi.ErrorCodes.AddressParseFailure">
            <summary>
            Failed to parse address
            </summary>
        </member>
        <member name="T:log4net.spi.ILoggerWrapper">
            <summary>
            Base interface for all wrappers
            </summary>
            <remarks>
            <para>Base interface for all wrappers</para>
            <para>All wrappers must extend this interface</para>
            </remarks>
        </member>
        <member name="P:log4net.spi.ILoggerWrapper.Logger">
            <summary>
            Get the implementation behind this wrapper object.
            </summary>
            <value>
            The <see cref="T:log4net.spi.ILogger"/> object that in implementing this object.
            </value>
            <remarks>
            The <see cref="T:log4net.spi.ILogger"/> object that in implementing this
            object. The <c>Logger</c> object may not 
            be the same object as this object because of logger decorators.
            This gets the actual underlying objects that is used to process
            the log events.
            </remarks>
        </member>
        <member name="T:log4net.spi.LoggerRepositoryCreationEventHandler">
            <summary>
            Delegate used to handle logger repository creation event notifications
            </summary>
            <param name="sender">The <see cref="T:log4net.spi.IRepositorySelector"/> which created the repository.</param>
            <param name="e">The <see cref="T:log4net.spi.LoggerRepositoryCreationEventArgs"/> event args
            that holds the <see cref="T:log4net.Repository.ILoggerRepository"/> instance that has been created.</param>
            <remarks>
            Delegate used to handle logger repository creation event notifications
            </remarks>
        </member>
        <member name="T:log4net.spi.LoggerRepositoryCreationEventArgs">
            <summary>
            Provides data for the <see cref="E:log4net.spi.IRepositorySelector.LoggerRepositoryCreatedEvent"/> event.
            </summary>
            <remarks>
            A <see cref="E:log4net.spi.IRepositorySelector.LoggerRepositoryCreatedEvent"/> event is raised every time a
            <see cref="T:log4net.Repository.ILoggerRepository"/> is created.
            </remarks>
        </member>
        <member name="F:log4net.spi.LoggerRepositoryCreationEventArgs.m_repository">
            <summary>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created
            </summary>
        </member>
        <member name="M:log4net.spi.LoggerRepositoryCreationEventArgs.#ctor(log4net.Repository.ILoggerRepository)">
            <summary>
            Construct instance using <see cref="T:log4net.Repository.ILoggerRepository"/> specified
            </summary>
            <param name="repository">the <see cref="T:log4net.Repository.ILoggerRepository"/> that has been created</param>
        </member>
        <member name="P:log4net.spi.LoggerRepositoryCreationEventArgs.LoggerRepository">
            <summary>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> that has been created
            </summary>
            <value>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> that has been created
            </value>
        </member>
        <member name="T:log4net.spi.ITriggeringEventEvaluator">
            <summary>
            Implementations of this interface allow certain appenders to decide
            when to perform an appender specific action.
            </summary>
            <remarks>
            Implementations of this interface allow certain appenders to decide
            when to perform an appender specific action.
            </remarks>
        </member>
        <member name="M:log4net.spi.ITriggeringEventEvaluator.IsTriggeringEvent(log4net.spi.LoggingEvent)">
            <summary>
            Is this the triggering event?
            </summary>
            <param name="loggingEvent">The event to check</param>
            <returns><c>true</c> if this event triggers the action, otherwise <c>false</c></returns>
            <remarks>
            Return <c>true</c> if this event triggers the action
            </remarks>
        </member>
        <member name="T:log4net.spi.Level">
            <summary>
            Defines the set of levels recognised by the system.
            </summary>
            <remarks>
            <para>Defines the set of levels recognised by the system.</para>
            
            <para>The predefined set of levels recognised by the system are 
            <see cref="F:log4net.spi.Level.OFF"/>, <see cref="F:log4net.spi.Level.FATAL"/>, <see cref="F:log4net.spi.Level.ERROR"/>, 
            <see cref="F:log4net.spi.Level.WARN"/>, <see cref="F:log4net.spi.Level.INFO"/>, <see cref="F:log4net.spi.Level.DEBUG"/> and 
            <see cref="F:log4net.spi.Level.ALL"/>.</para>
            
            <para>The Level class is sealed. You cannot extend this class.</para> 
            </remarks>
        </member>
        <member name="F:log4net.spi.Level.OFF">
            <summary>
            The <c>OFF</c> level designates a higher level than all the rest.
            </summary>
        </member>
        <member name="F:log4net.spi.Level.EMERGENCY">
            <summary>
            The <c>EMERGENCY</c> level designates very severe error events. System unusable, emergencies.
            </summary>
        </member>
        <member name="F:log4net.spi.Level.FATAL">
            <summary>
            The <c>FATAL</c> level designates very severe error events that will presumably lead the application to abort.
            </summary>
        </member>
        <member name="F:log4net.spi.Level.ALERT">
            <summary>
            The <c>ALERT</c> level designates very severe error events. Take immediate action, alerts.
            </summary>
        </member>
        <member name="F:log4net.spi.Level.CRITICAL">
            <summary>
            The <c>CRITICAL</c> level designates very severe error events. Critical condition, critical.
            </summary>
        </member>
        <member name="F:log4net.spi.Level.SEVERE">
            <summary>
            The <c>SEVERE</c> level designates very severe error events. Critical condition, critical.
            </summary>
        </member>
        <member name="F:log4net.spi.Level.ERROR">
            <summary>
            The <c>ERROR</c> level designates error events that might still allow the application to continue running.
            </summary>
        </member>
        <member name="F:log4net.spi.Level.WARN">
            <summary>
            The <c>WARN</c> level designates potentially harmful situations.
            </summary>
        </member>
        <member name="F:log4net.spi.Level.NOTICE">
            <summary>
            The <c>NOTICE</c> level designates informational messages that highlight the progress of the application at the highest level.
            </summary>
        </member>
        <member name="F:log4net.spi.Level.INFO">
            <summary>
            The <c>INFO</c> level designates informational messages that highlight the progress of the application at coarse-grained level.
            </summary>
        </member>
        <member name="F:log4net.spi.Level.DEBUG">
            <summary>
            The <c>DEBUG</c> level designates fine-grained informational events that are most useful to debug an application.
            </summary>
        </member>
        <member name="F:log4net.spi.Level.FINE">
            <summary>
            The <c>FINE</c> level designates fine-grained informational events that are most useful to debug an application.
            </summary>
        </member>
        <member name="F:log4net.spi.Level.TRACE">
            <summary>
            The <c>TRACE</c> level designates fine-grained informational events that are most useful to debug an application.
            </summary>
        </member>
        <member name="F:log4net.spi.Level.FINER">
            <summary>
            The <c>FINER</c> level designates fine-grained informational events that are most useful to debug an application.
            </summary>
        </member>
        <member name="F:log4net.spi.Level.VERBOSE">
            <summary>
            The <c>VERBOSE</c> level designates fine-grained informational events that are most useful to debug an application.
            </summary>
        </member>
        <member name="F:log4net.spi.Level.FINEST">
            <summary>
            The <c>FINEST</c> level designates fine-grained informational events that are most useful to debug an application.
            </summary>
        </member>
        <member name="F:log4net.spi.Level.ALL">
            <summary>
            The <c>ALL</c> level designates the lowest level possible.
            </summary>
        </member>
        <member name="M:log4net.spi.Level.#ctor(System.Int32,System.String)">
            <summary>
            Instantiate a level object.
            </summary>
            <param name="level">integer value for this level, higher values represent more severe levels</param>
            <param name="levelName">the string name of this level</param>
        </member>
        <member name="M:log4net.spi.Level.ToString">
            <summary>
            Returns the string representation of this level.
            </summary>
            <returns></returns>
        </member>
        <member name="M:log4net.spi.Level.Equals(System.Object)">
            <summary>
            Override Equals to compare the levels of
            Level objects. Defers to base class if
            the target object is not a Level.
            </summary>
            <param name="o">The object to compare against</param>
            <returns>true if the objects are equal</returns>
        </member>
        <member name="M:log4net.spi.Level.GetHashCode">
            <summary>
            Returns a hash code that is suitable for use in a hashtree etc
            </summary>
            <returns>the hash of this object</returns>
        </member>
        <member name="M:log4net.spi.Level.op_GreaterThan(log4net.spi.Level,log4net.spi.Level)">
            <summary>
            Operator greater than that compares Levels
            </summary>
            <param name="l">left hand side</param>
            <param name="r">right hand side</param>
            <returns>true if left hand side is greater than the right hand side</returns>
        </member>
        <member name="M:log4net.spi.Level.op_LessThan(log4net.spi.Level,log4net.spi.Level)">
            <summary>
            Operator less than that compares Levels
            </summary>
            <param name="l">left hand side</param>
            <param name="r">right hand side</param>
            <returns>true if left hand side is less than the right hand side</returns>
        </member>
        <member name="M:log4net.spi.Level.op_GreaterThanOrEqual(log4net.spi.Level,log4net.spi.Level)">
            <summary>
            Operator greater than or equal that compares Levels
            </summary>
            <param name="l">left hand side</param>
            <param name="r">right hand side</param>
            <returns>true if left hand side is greater than or equal to the right hand side</returns>
        </member>
        <member name="M:log4net.spi.Level.op_LessThanOrEqual(log4net.spi.Level,log4net.spi.Level)">
            <summary>
            Operator less than or equal that compares Levels
            </summary>
            <param name="l">left hand side</param>
            <param name="r">right hand side</param>
            <returns>true if left hand side is less than or equal to the right hand side</returns>
        </member>
        <member name="M:log4net.spi.Level.op_Equality(log4net.spi.Level,log4net.spi.Level)">
            <summary>
            Operator equals that compares Levels
            </summary>
            <param name="l">left hand side</param>
            <param name="r">right hand side</param>
            <returns>true if left hand side is equal to the right hand side</returns>
        </member>
        <member name="M:log4net.spi.Level.op_Inequality(log4net.spi.Level,log4net.spi.Level)">
            <summary>
            Operator not equals that compares Levels
            </summary>
            <param name="l">left hand side</param>
            <param name="r">right hand side</param>
            <returns>true if left hand side is not equal to the right hand side</returns>
        </member>
        <member name="M:log4net.spi.Level.Compare(log4net.spi.Level,log4net.spi.Level)">
            <summary>
            Compares two specified <see cref="T:log4net.spi.Level"/> values.
            </summary>
            <param name="l">A <see cref="T:log4net.spi.Level"/></param>
            <param name="r">A <see cref="T:log4net.spi.Level"/></param>
            <returns>A signed number indicating the relative values of <c>l</c> and <c>r</c>.</returns>
            <remarks>
            Less than zero: <c>l</c> is less than <c>r</c>. 
            Zero: <c>l</c> and <c>r</c> are equal. 
            Greater than zero: <c>l</c> is greater than <c>r</c>. 
            </remarks>
        </member>
        <member name="M:log4net.spi.Level.CompareTo(System.Object)">
            <summary>
            Compares this instance to a specified <see cref="T:System.Object"/>
            </summary>
            <param name="r">An <see cref="T:System.Object"/> or a null reference</param>
            <returns>A signed number indicating the relative values of this instance and <c>r</c>.</returns>
            <remarks>
            Less than zero: this instance is less than <c>r</c>. 
            Zero: this instance and <c>r</c> are equal. 
            Greater than zero: this instance is greater than <c>r</c>. 
            Any instance of <see cref="T:log4net.spi.Level"/>, regardless of its value, 
            is considered greater than a null reference.
            </remarks>
        </member>
        <member name="P:log4net.spi.Level.Name">
            <summary>
            The name of this level
            </summary>
            <value>
            The name of this level
            </value>
            <remarks>
            The name of this level. Readonly.
            </remarks>
        </member>
        <member name="P:log4net.spi.Level.Value">
            <summary>
            The Value of this level
            </summary>
            <value>
            The Value of this level
            </value>
            <remarks>
            The Value of this level. Readonly.
            </remarks>
        </member>
        <member name="T:log4net.spi.LevelCollection">
            <summary>
            A strongly-typed collection of <see cref="T:log4net.spi.Level"/> objects.
            </summary>
        </member>
        <member name="M:log4net.spi.LevelCollection.Synchronized(log4net.spi.LevelCollection)">
            <summary>
            Creates a synchronized (thread-safe) wrapper for a 
            <c>LevelCollection</c> instance.
            </summary>
            <returns>
            A <c>LevelCollection</c> wrapper that is synchronized (thread-safe).
            </returns>
        </member>
        <member name="M:log4net.spi.LevelCollection.ReadOnly(log4net.spi.LevelCollection)">
            <summary>
            Creates a read-only wrapper for a 
            <c>LevelCollection</c> instance.
            </summary>
            <returns>
            A <c>LevelCollection</c> wrapper that is read-only.
            </returns>
        </member>
        <member name="M:log4net.spi.LevelCollection.#ctor">
            <summary>
            Initializes a new instance of the <c>LevelCollection</c> class
            that is empty and has the default initial capacity.
            </summary>
        </member>
        <member name="M:log4net.spi.LevelCollection.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <c>LevelCollection</c> class
            that has the specified initial capacity.
            </summary>
            <param name="capacity">
            The number of elements that the new <c>LevelCollection</c> is initially capable of storing.
            </param>
        </member>
        <member name="M:log4net.spi.LevelCollection.#ctor(log4net.spi.LevelCollection)">
            <summary>
            Initializes a new instance of the <c>LevelCollection</c> class
            that contains elements copied from the specified <c>LevelCollection</c>.
            </summary>
            <param name="c">The <c>LevelCollection</c> whose elements are copied to the new collection.</param>
        </member>
        <member name="M:log4net.spi.LevelCollection.#ctor(log4net.spi.Level[])">
            <summary>
            Initializes a new instance of the <c>LevelCollection</c> class
            that contains elements copied from the specified <see cref="T:log4net.spi.Level"/> array.
            </summary>
            <param name="a">The <see cref="T:log4net.spi.Level"/> array whose elements are copied to the new list.</param>
        </member>
        <member name="M:log4net.spi.LevelCollection.#ctor(System.Collections.ICollection)">
            <summary>
            Initializes a new instance of the <c>LevelCollection</c> class
            that contains elements copied from the specified <see cref="T:log4net.spi.Level"/> collection.
            </summary>
            <param name="col">The <see cref="T:log4net.spi.Level"/> collection whose elements are copied to the new list.</param>
        </member>
        <member name="M:log4net.spi.LevelCollection.#ctor(log4net.spi.LevelCollection.Tag)">
            <summary>
            Allow subclasses to avoid our default constructors
            </summary>
            <param name="t"></param>
        </member>
        <member name="M:log4net.spi.LevelCollection.CopyTo(log4net.spi.Level[])">
            <summary>
            Copies the entire <c>LevelCollection</c> to a one-dimensional
            <see cref="T:log4net.spi.Level"/> array.
            </summary>
            <param name="array">The one-dimensional <see cref="T:log4net.spi.Level"/> array to copy to.</param>
        </member>
        <member name="M:log4net.spi.LevelCollection.CopyTo(log4net.spi.Level[],System.Int32)">
            <summary>
            Copies the entire <c>LevelCollection</c> to a one-dimensional
            <see cref="T:log4net.spi.Level"/> array, starting at the specified index of the target array.
            </summary>
            <param name="array">The one-dimensional <see cref="T:log4net.spi.Level"/> array to copy to.</param>
            <param name="start">The zero-based index in <paramref name="array"/> at which copying begins.</param>
        </member>
        <member name="M:log4net.spi.LevelCollection.Add(log4net.spi.Level)">
            <summary>
            Adds a <see cref="T:log4net.spi.Level"/> to the end of the <c>LevelCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.spi.Level"/> to be added to the end of the <c>LevelCollection</c>.</param>
            <returns>The index at which the value has been added.</returns>
        </member>
        <member name="M:log4net.spi.LevelCollection.Clear">
            <summary>
            Removes all elements from the <c>LevelCollection</c>.
            </summary>
        </member>
        <member name="M:log4net.spi.LevelCollection.Clone">
            <summary>
            Creates a shallow copy of the <see cref="T:log4net.spi.LevelCollection"/>.
            </summary>
        </member>
        <member name="M:log4net.spi.LevelCollection.Contains(log4net.spi.Level)">
            <summary>
            Determines whether a given <see cref="T:log4net.spi.Level"/> is in the <c>LevelCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.spi.Level"/> to check for.</param>
            <returns><c>true</c> if <paramref name="item"/> is found in the <c>LevelCollection</c>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:log4net.spi.LevelCollection.IndexOf(log4net.spi.Level)">
            <summary>
            Returns the zero-based index of the first occurrence of a <see cref="T:log4net.spi.Level"/>
            in the <c>LevelCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.spi.Level"/> to locate in the <c>LevelCollection</c>.</param>
            <returns>
            The zero-based index of the first occurrence of <paramref name="item"/> 
            in the entire <c>LevelCollection</c>, if found; otherwise, -1.
            </returns>
        </member>
        <member name="M:log4net.spi.LevelCollection.Insert(System.Int32,log4net.spi.Level)">
            <summary>
            Inserts an element into the <c>LevelCollection</c> at the specified index.
            </summary>
            <param name="index">The zero-based index at which <paramref name="item"/> should be inserted.</param>
            <param name="item">The <see cref="T:log4net.spi.Level"/> to insert.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.spi.LevelCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="M:log4net.spi.LevelCollection.Remove(log4net.spi.Level)">
            <summary>
            Removes the first occurrence of a specific <see cref="T:log4net.spi.Level"/> from the <c>LevelCollection</c>.
            </summary>
            <param name="item">The <see cref="T:log4net.spi.Level"/> to remove from the <c>LevelCollection</c>.</param>
            <exception cref="T:System.ArgumentException">
            The specified <see cref="T:log4net.spi.Level"/> was not found in the <c>LevelCollection</c>.
            </exception>
        </member>
        <member name="M:log4net.spi.LevelCollection.RemoveAt(System.Int32)">
            <summary>
            Removes the element at the specified index of the <c>LevelCollection</c>.
            </summary>
            <param name="index">The zero-based index of the element to remove.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.spi.LevelCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="M:log4net.spi.LevelCollection.GetEnumerator">
            <summary>
            Returns an enumerator that can iterate through the <c>LevelCollection</c>.
            </summary>
            <returns>An <see cref="T:log4net.spi.LevelCollection.Enumerator"/> for the entire <c>LevelCollection</c>.</returns>
        </member>
        <member name="M:log4net.spi.LevelCollection.AddRange(log4net.spi.LevelCollection)">
            <summary>
            Adds the elements of another <c>LevelCollection</c> to the current <c>LevelCollection</c>.
            </summary>
            <param name="x">The <c>LevelCollection</c> whose elements should be added to the end of the current <c>LevelCollection</c>.</param>
            <returns>The new <see cref="P:log4net.spi.LevelCollection.Count"/> of the <c>LevelCollection</c>.</returns>
        </member>
        <member name="M:log4net.spi.LevelCollection.AddRange(log4net.spi.Level[])">
            <summary>
            Adds the elements of a <see cref="T:log4net.spi.Level"/> array to the current <c>LevelCollection</c>.
            </summary>
            <param name="x">The <see cref="T:log4net.spi.Level"/> array whose elements should be added to the end of the <c>LevelCollection</c>.</param>
            <returns>The new <see cref="P:log4net.spi.LevelCollection.Count"/> of the <c>LevelCollection</c>.</returns>
        </member>
        <member name="M:log4net.spi.LevelCollection.AddRange(System.Collections.ICollection)">
            <summary>
            Adds the elements of a <see cref="T:log4net.spi.Level"/> collection to the current <c>LevelCollection</c>.
            </summary>
            <param name="col">The <see cref="T:log4net.spi.Level"/> collection whose elements should be added to the end of the <c>LevelCollection</c>.</param>
            <returns>The new <see cref="P:log4net.spi.LevelCollection.Count"/> of the <c>LevelCollection</c>.</returns>
        </member>
        <member name="M:log4net.spi.LevelCollection.TrimToSize">
            <summary>
            Sets the capacity to the actual number of elements.
            </summary>
        </member>
        <member name="M:log4net.spi.LevelCollection.ValidateIndex(System.Int32)">
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.spi.LevelCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="M:log4net.spi.LevelCollection.ValidateIndex(System.Int32,System.Boolean)">
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.spi.LevelCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="P:log4net.spi.LevelCollection.Count">
            <summary>
            Gets the number of elements actually contained in the <c>LevelCollection</c>.
            </summary>
        </member>
        <member name="P:log4net.spi.LevelCollection.IsSynchronized">
            <summary>
            Gets a value indicating whether access to the collection is synchronized (thread-safe).
            </summary>
            <value>true if access to the ICollection is synchronized (thread-safe); otherwise, false.</value>
        </member>
        <member name="P:log4net.spi.LevelCollection.SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the collection.
            </summary>
        </member>
        <member name="P:log4net.spi.LevelCollection.Item(System.Int32)">
            <summary>
            Gets or sets the <see cref="T:log4net.spi.Level"/> at the specified index.
            </summary>
            <param name="index">The zero-based index of the element to get or set.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is less than zero</para>
            <para>-or-</para>
            <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.spi.LevelCollection.Count"/>.</para>
            </exception>
        </member>
        <member name="P:log4net.spi.LevelCollection.IsFixedSize">
            <summary>
            Gets a value indicating whether the collection has a fixed size.
            </summary>
            <value>true if the collection has a fixed size; otherwise, false. The default is false</value>
        </member>
        <member name="P:log4net.spi.LevelCollection.IsReadOnly">
            <summary>
            Gets a value indicating whether the IList is read-only.
            </summary>
            <value>true if the collection is read-only; otherwise, false. The default is false</value>
        </member>
        <member name="P:log4net.spi.LevelCollection.Capacity">
            <summary>
            Gets or sets the number of elements the <c>LevelCollection</c> can contain.
            </summary>
        </member>
        <member name="T:log4net.spi.LevelCollection.ILevelCollectionEnumerator">
            <summary>
            Supports type-safe iteration over a <see cref="T:log4net.spi.LevelCollection"/>.
            </summary>
        </member>
        <member name="M:log4net.spi.LevelCollection.ILevelCollectionEnumerator.MoveNext">
            <summary>
            Advances the enumerator to the next element in the collection.
            </summary>
            <exception cref="T:System.InvalidOperationException">
            The collection was modified after the enumerator was created.
            </exception>
            <returns>
            <c>true</c> if the enumerator was successfully advanced to the next element; 
            <c>false</c> if the enumerator has passed the end of the collection.
            </returns>
        </member>
        <member name="M:log4net.spi.LevelCollection.ILevelCollectionEnumerator.Reset">
            <summary>
            Sets the enumerator to its initial position, before the first element in the collection.
            </summary>
        </member>
        <member name="P:log4net.spi.LevelCollection.ILevelCollectionEnumerator.Current">
            <summary>
            Gets the current element in the collection.
            </summary>
        </member>
        <member name="T:log4net.spi.LevelCollection.Tag">
            <summary>
            Type visible only to our subclasses
            Used to access protected constructor
            </summary>
        </member>
        <member name="F:log4net.spi.LevelCollection.Tag.Default">
            <summary>
            A value
            </summary>
        </member>
        <member name="T:log4net.spi.LevelCollection.Enumerator">
            <summary>
            Supports simple iteration over a <see cref="T:log4net.spi.LevelCollection"/>.
            </summary>
        </member>
        <member name="M:log4net.spi.LevelCollection.Enumerator.#ctor(log4net.spi.LevelCollection)">
            <summary>
            Initializes a new instance of the <c>Enumerator</c> class.
            </summary>
            <param name="tc"></param>
        </member>
        <member name="M:log4net.spi.LevelCollection.Enumerator.MoveNext">
            <summary>
            Advances the enumerator to the next element in the collection.
            </summary>
            <exception cref="T:System.InvalidOperationException">
            The collection was modified after the enumerator was created.
            </exception>
            <returns>
            <c>true</c> if the enumerator was successfully advanced to the next element; 
            <c>false</c> if the enumerator has passed the end of the collection.
            </returns>
        </member>
        <member name="M:log4net.spi.LevelCollection.Enumerator.Reset">
            <summary>
            Sets the enumerator to its initial position, before the first element in the collection.
            </summary>
        </member>
        <member name="P:log4net.spi.LevelCollection.Enumerator.Current">
            <summary>
            Gets the current element in the collection.
            </summary>
        </member>
        <member name="T:log4net.spi.LevelEvaluator">
            <summary>
            An evaluator that triggers at a threshold level
            </summary>
            <remarks>
            <para>This evaluator will trigger if the level of the event
            passed to <see cref="M:log4net.spi.LevelEvaluator.IsTriggeringEvent(log4net.spi.LoggingEvent)"/>
            is equal to or greater than the <see cref="P:log4net.spi.LevelEvaluator.Threshold"/>
            level.</para>
            </remarks>
        </member>
        <member name="F:log4net.spi.LevelEvaluator.m_threshold">
            <summary>
            The threshold for triggering
            </summary>
        </member>
        <member name="M:log4net.spi.LevelEvaluator.#ctor">
            <summary>
            Create a new evaluator using the <see cref="F:log4net.spi.Level.OFF"/> threshold.
            </summary>
            <remarks>
            <para>Create a new evaluator using the <see cref="F:log4net.spi.Level.OFF"/> threshold.</para>
            
            <para>This evaluator will trigger if the level of the event
            passed to <see cref="M:log4net.spi.LevelEvaluator.IsTriggeringEvent(log4net.spi.LoggingEvent)"/>
            is equal to or greater than the <see cref="P:log4net.spi.LevelEvaluator.Threshold"/>
            level.</para>
            </remarks>
        </member>
        <member name="M:log4net.spi.LevelEvaluator.#ctor(log4net.spi.Level)">
            <summary>
            Create a new evaluator using the specified <see cref="T:log4net.spi.Level"/> threshold.
            </summary>
            <param name="threshold">the threshold to trigger at</param>
            <remarks>
            <para>Create a new evaluator using the specified <see cref="T:log4net.spi.Level"/> threshold.</para>
            
            <para>This evaluator will trigger if the level of the event
            passed to <see cref="M:log4net.spi.LevelEvaluator.IsTriggeringEvent(log4net.spi.LoggingEvent)"/>
            is equal to or greater than the <see cref="P:log4net.spi.LevelEvaluator.Threshold"/>
            level.</para>
            </remarks>
        </member>
        <member name="M:log4net.spi.LevelEvaluator.IsTriggeringEvent(log4net.spi.LoggingEvent)">
            <summary>
            Is this <paramref name="loggingEvent"/> the triggering event?
            </summary>
            <param name="loggingEvent">The event to check</param>
            <returns>This method returns <c>true</c>, if the event level
            is equal or higher than the <see cref="P:log4net.spi.LevelEvaluator.Threshold"/>. 
            Otherwise it returns <c>false</c></returns>
            <remarks>
            <para>This evaluator will trigger if the level of the event
            passed to <see cref="M:log4net.spi.LevelEvaluator.IsTriggeringEvent(log4net.spi.LoggingEvent)"/>
            is equal to or greater than the <see cref="P:log4net.spi.LevelEvaluator.Threshold"/>
            level.</para>
            </remarks>
        </member>
        <member name="P:log4net.spi.LevelEvaluator.Threshold">
            <summary>
            the threshold to trigger at
            </summary>
            <value>
            The <see cref="T:log4net.spi.Level"/> that will cause this evaluator to trigger
            </value>
            <remarks>
            <para>This evaluator will trigger if the level of the event
            passed to <see cref="M:log4net.spi.LevelEvaluator.IsTriggeringEvent(log4net.spi.LoggingEvent)"/>
            is equal to or greater than the <see cref="P:log4net.spi.LevelEvaluator.Threshold"/>
            level.</para>
            </remarks>
        </member>
        <member name="T:log4net.spi.LevelMap">
            <summary>
            Mapping between string name and Level object
            </summary>
            <remarks>
            Mapping between string name and Level object.
            This mapping is held seperatly for each ILoggerRepository.
            The level name is case insensitive.
            </remarks>
        </member>
        <member name="F:log4net.spi.LevelMap.m_mapName2Level">
            <summary>
            Mapping from level name to Level object. The
            level name is case insensitive
            </summary>
        </member>
        <member name="F:log4net.spi.LevelMap.m_mapValue2Level">
            <summary>
            Mapping from level value to Level object
            </summary>
        </member>
        <member name="M:log4net.spi.LevelMap.#ctor">
            <summary>
            Construct the level map
            </summary>
            <remarks>
            Construct the level map.
            </remarks>
        </member>
        <member name="M:log4net.spi.LevelMap.Clear">
            <summary>
            Clear the internal maps of all levels
            </summary>
            <remarks>
            Clear the internal maps of all levels
            </remarks>
        </member>
        <member name="M:log4net.spi.LevelMap.Add(System.String,System.Int32)">
            <summary>
            Create a new Level and add it to the map
            </summary>
            <param name="name">the string to display for the Level</param>
            <param name="value">the level value to give to the Level</param>
        </member>
        <member name="M:log4net.spi.LevelMap.Add(log4net.spi.Level)">
            <summary>
            Add a Level it to the map
            </summary>
            <param name="level">the Level to add</param>
        </member>
        <member name="P:log4net.spi.LevelMap.Item(System.String)">
            <summary>
            Lookup a <see cref="T:log4net.spi.Level"/> by name
            </summary>
            <param name="name">The name of the Level to lookup</param>
            <returns>a Level from the map with the name specified</returns>
            <remarks>
            Returns the <see cref="T:log4net.spi.Level"/> from the
            map with the name specified. If the no level is
            found then <c>null</c> is returned.
            </remarks>
        </member>
        <member name="P:log4net.spi.LevelMap.Item(System.Int32)">
            <summary>
            Lookup a <see cref="T:log4net.spi.Level"/> by value
            </summary>
            <param name="value">The value of the Level to lookup</param>
            <returns>a Level from the map with the value specified</returns>
            <remarks>
            Returns the <see cref="T:log4net.spi.Level"/> from the
            map with the value specified. If the no level is
            found then <c>null</c> is returned.
            </remarks>
        </member>
        <member name="P:log4net.spi.LevelMap.AllLevels">
            <summary>
            Return all possible levels as a list of Level objects.
            </summary>
            <returns>all possible levels as a list of Level objects</returns>
        </member>
        <member name="T:log4net.spi.LocationInfo">
            <summary>
            The internal representation of caller location information.
            </summary>
        </member>
        <member name="F:log4net.spi.LocationInfo.NA">
            <summary>
            When location information is not available the constant
            <c>NA</c> is returned. Current value of this string
            constant is <b>?</b>.
            </summary>
        </member>
        <member name="M:log4net.spi.LocationInfo.#ctor(System.String)">
            <summary>
            Instantiate location information based on the current thread
            </summary>
            <param name="fullNameOfCallingClass">the fully name of the calling class (not assembly qualified)</param>
        </member>
        <member name="M:log4net.spi.LocationInfo.#ctor(System.String,System.String,System.String,System.String)">
            <summary>
            Create LocationInfo with specified data
            </summary>
            <param name="className">the fully qualified class name</param>
            <param name="methodName">the method name</param>
            <param name="fileName">the file name</param>
            <param name="lineNumber">the line number of the method within the file</param>
        </member>
        <member name="P:log4net.spi.LocationInfo.ClassName">
            <summary>
            Return the fully qualified class name of the caller making the logging request.
            </summary>
            <returns></returns>
        </member>
        <member name="P:log4net.spi.LocationInfo.FileName">
            <summary>
            Return the file name of the caller.
            </summary>
            <returns></returns>
        </member>
        <member name="P:log4net.spi.LocationInfo.LineNumber">
            <summary>
            Returns the line number of the caller.
            </summary>
            <returns></returns>
        </member>
        <member name="P:log4net.spi.LocationInfo.MethodName">
            <summary>
            Returns the method name of the caller.
            </summary>
            <returns></returns>
        </member>
        <member name="P:log4net.spi.LocationInfo.FullInfo">
            <summary>
            All available caller information, in the format
            <c>fully.qualified.classname.of.caller.methodName(Filename:line)</c>
            </summary>
            <returns></returns>
        </member>
        <member name="T:log4net.spi.LogException">
            <summary>
            Exception base type for log4net.
            </summary>
            <remarks>
            <para>
            This type extends <see cref="T:System.ApplicationException"/>. It
            does not add any new functionality but does differentiate the
            type of exception being thrown.</para>
            </remarks>
        </member>
        <member name="M:log4net.spi.LogException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.spi.LogException"/> class.
            </summary>
        </member>
        <member name="M:log4net.spi.LogException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.spi.LogException"/> class with
            the specified message.
            </summary>
            <param name="message">A message to include with the exception.</param>
        </member>
        <member name="M:log4net.spi.LogException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.spi.LogException"/> class
            with the specified message and inner exception.
            </summary>
            <param name="message">A message to include with the exception.</param>
            <param name="innerException">A nested exception to include.</param>
        </member>
        <member name="M:log4net.spi.LogException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.spi.LogException"/> class 
            with serialized data.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
        </member>
        <member name="T:log4net.spi.LoggerManager">
            <summary>
            Static manager that controls the creation of repositories
            </summary>
            <remarks>
            <para>
            Static manager that controls the creation of repositories
            </para>
            <para>
            This class is used by the wrapper managers (e.g. <see cref="T:log4net.LogManager"/>)
            to provide access to the <see cref="T:log4net.spi.ILogger"/> objects.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.spi.LoggerManager.#ctor">
            <summary>
            Private constructor to prevent instances. Only static methods should be used.
            </summary>
            <remarks>
            Private constructor to prevent instances. Only static methods should be used.
            </remarks>
        </member>
        <member name="M:log4net.spi.LoggerManager.#cctor">
            <summary>
            Hook the shutdown event
            </summary>
            <remarks>
            On the full .NET runtime, the static constructor hooks up the 
            <c>AppDomain.ProcessExit</c> and <c>AppDomain.DomainUnload</c>> events. 
            These are used to shutdown the log4net system as the application exits.
            </remarks>
        </member>
        <member name="M:log4net.spi.LoggerManager.RegisterAppDomainEvents">
            <summary>
            Register for ProcessExit and DomainUnload events on the AppDomain
            </summary>
            <remarks>
            This needs to be in a seperate method because the events make
            a LinkDemand for the ControlAppDomain SecurityPermission. Because
            this is a LinkDemand it is demanded at JIT time. Therefore we cannot
            catch the exception in the method itself, we habe to catch it in the
            caller.
            </remarks>
        </member>
        <member name="M:log4net.spi.LoggerManager.GetLoggerRepository(System.String)">
            <summary>
            Return the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
            </summary>
            <param name="domain">the domain to lookup in</param>
            <returns>Return the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance</returns>
            <remarks>
            <para>Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the domain specified
            by the <paramref name="domain"/> argument.</para>
            </remarks>
        </member>
        <member name="M:log4net.spi.LoggerManager.GetLoggerRepository(System.Reflection.Assembly)">
            <summary>
            Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
            </summary>
            <param name="domainAssembly">The assembly to use to lookup the domain.</param>
            <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.</returns>
        </member>
        <member name="M:log4net.spi.LoggerManager.Exists(System.String,System.String)">
            <summary>
            Returns the named logger if it exists.
            </summary>
            <remarks>
            <para>If the named logger exists (in the specified domain) then it
            returns a reference to the logger, otherwise it returns
            <c>null</c>.</para>
            </remarks>
            <param name="domain">The domain to lookup in.</param>
            <param name="name">The fully qualified logger name to look for.</param>
            <returns>
            The logger found, or <c>null</c> if the named logger does not exist in the
            specified domain.
            </returns>
        </member>
        <member name="M:log4net.spi.LoggerManager.Exists(System.Reflection.Assembly,System.String)">
            <summary>
            Returns the named logger if it exists.
            </summary>
            <remarks>
            <para>If the named logger exists (in the specified assembly's domain) then it
            returns a reference to the logger, otherwise it returns
            <c>null</c>.</para>
            </remarks>
            <param name="domainAssembly">The assembly to use to lookup the domain.</param>
            <param name="name">The fully qualified logger name to look for.</param>
            <returns>
            The logger found, or <c>null</c> if the named logger does not exist in the
            specified assembly's domain.
            </returns>
        </member>
        <member name="M:log4net.spi.LoggerManager.GetCurrentLoggers(System.String)">
            <summary>
            Returns all the currently defined loggers in the specified domain.
            </summary>
            <param name="domain">The domain to lookup in.</param>
            <remarks>
            The root logger is <b>not</b> included in the returned array.
            </remarks>
            <returns>All the defined loggers.</returns>
        </member>
        <member name="M:log4net.spi.LoggerManager.GetCurrentLoggers(System.Reflection.Assembly)">
            <summary>
            Returns all the currently defined loggers in the specified assembly's domain.
            </summary>
            <param name="domainAssembly">The assembly to use to lookup the domain.</param>
            <remarks>
            The root logger is <b>not</b> included in the returned array.
            </remarks>
            <returns>All the defined loggers.</returns>
        </member>
        <member name="M:log4net.spi.LoggerManager.GetLogger(System.String,System.String)">
            <summary>
            Retrieves or creates a named logger.
            </summary>
            <remarks>
            <para>
            Retrieves a logger named as the <paramref name="name"/>
            parameter. If the named logger already exists, then the
            existing instance will be returned. Otherwise, a new instance is
            created.
            </para>
            <para>
            By default, loggers do not have a set level but inherit
            it from the hierarchy. This is one of the central features of
            log4net.
            </para>
            </remarks>
            <param name="domain">The domain to lookup in.</param>
            <param name="name">The name of the logger to retrieve.</param>
            <returns>The logger with the name specified.</returns>
        </member>
        <member name="M:log4net.spi.LoggerManager.GetLogger(System.Reflection.Assembly,System.String)">
            <summary>
            Retrieves or creates a named logger.
            </summary>
            <remarks>
            <para>
            Retrieves a logger named as the <paramref name="name"/>
            parameter. If the named logger already exists, then the
            existing instance will be returned. Otherwise, a new instance is
            created.
            </para>
            <para>
            By default, loggers do not have a set level but inherit
            it from the hierarchy. This is one of the central features of
            log4net.
            </para>
            </remarks>
            <param name="domainAssembly">The assembly to use to lookup the domain.</param>
            <param name="name">The name of the logger to retrieve.</param>
            <returns>The logger with the name specified.</returns>
        </member>
        <member name="M:log4net.spi.LoggerManager.GetLogger(System.String,System.Type)">
            <summary>
            Shorthand for <see cref="M:log4net.LogManager.GetLogger(System.String)"/>.
            </summary>
            <remarks>
            Gets the logger for the fully qualified name of the type specified.
            </remarks>
            <param name="domain">The domain to lookup in.</param>
            <param name="type">The <paramref name="type"/> opf which the fullname will be used as the name of the logger to retrieve.</param>
            <returns>The logger with the name specified.</returns>
        </member>
        <member name="M:log4net.spi.LoggerManager.GetLogger(System.Reflection.Assembly,System.Type)">
            <summary>
            Shorthand for <see cref="M:log4net.LogManager.GetLogger(System.String)"/>.
            </summary>
            <remarks>
            Gets the logger for the fully qualified name of the type specified.
            </remarks>
            <param name="domainAssembly">the assembly to use to lookup the domain</param>
            <param name="type">The <paramref name="type"/> opf which the fullname will be used as the name of the logger to retrieve.</param>
            <returns>The logger with the name specified.</returns>
        </member>
        <member name="M:log4net.spi.LoggerManager.Shutdown">
            <summary>
            Shuts down the log4net system.
            </summary>
            <remarks>
            <para>
            Calling this method will <b>safely</b> close and remove all
            appenders in all the loggers including root contained in all the
            default repositories.
            </para>
            <para>
            Some appenders need to be closed before the application exists. 
            Otherwise, pending logging events might be lost.
            </para>
            <para>
            The <c>shutdown</c> method is careful to close nested
            appenders before closing regular appenders. This is allows
            configurations where a regular appender is attached to a logger
            and again to a nested appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.spi.LoggerManager.ShutdownRepository(System.String)">
            <summary>
            Shuts down the repository for the domain specified.
            </summary>
            <remarks>
            <para>
            Calling this method will <b>safely</b> close and remove all
            appenders in all the loggers including root contained in the
            repository for the <paramref name="domain"/> specified.
            </para>
            <para>
            Some appenders need to be closed before the application exists. 
            Otherwise, pending logging events might be lost.
            </para>
            <para>
            The <c>shutdown</c> method is careful to close nested
            appenders before closing regular appenders. This is allows
            configurations where a regular appender is attached to a logger
            and again to a nested appender.
            </para>
            </remarks>
            <param name="domain">The domain to shutdown.</param>
        </member>
        <member name="M:log4net.spi.LoggerManager.ShutdownRepository(System.Reflection.Assembly)">
            <summary>
            Shuts down the repository for the domain specified.
            </summary>
            <remarks>
            <para>
            Calling this method will <b>safely</b> close and remove all
            appenders in all the loggers including root contained in the
            repository for the domain. The domain is looked up using
            the <paramref name="domainAssembly"/> specified.
            </para>
            <para>
            Some appenders need to be closed before the application exists. 
            Otherwise, pending logging events might be lost.
            </para>
            <para>
            The <c>shutdown</c> method is careful to close nested
            appenders before closing regular appenders. This is allows
            configurations where a regular appender is attached to a logger
            and again to a nested appender.
            </para>
            </remarks>
            <param name="domainAssembly">The assembly to use to lookup the domain.</param>
        </member>
        <member name="M:log4net.spi.LoggerManager.ResetConfiguration(System.String)">
            <summary>
            Resets all values contained in this repository instance to their defaults.
            </summary>
            <remarks>
            <para>
            Resets all values contained in the repository instance to their
            defaults.  This removes all appenders from all loggers, sets
            the level of all non-root loggers to <c>null</c>,
            sets their additivity flag to <c>true</c> and sets the level
            of the root logger to <see cref="F:log4net.spi.Level.DEBUG"/>. Moreover,
            message disabling is set its default "off" value.
            </para>		
            </remarks>
            <param name="domain">The domain to lookup in.</param>
        </member>
        <member name="M:log4net.spi.LoggerManager.ResetConfiguration(System.Reflection.Assembly)">
            <summary>
            Resets all values contained in this repository instance to their defaults.
            </summary>
            <remarks>
            <para>
            Resets all values contained in the repository instance to their
            defaults.  This removes all appenders from all loggers, sets
            the level of all non-root loggers to <c>null</c>,
            sets their additivity flag to <c>true</c> and sets the level
            of the root logger to <see cref="F:log4net.spi.Level.DEBUG"/>. Moreover,
            message disabling is set its default "off" value.
            </para>		
            </remarks>
            <param name="domainAssembly">The assembly to use to lookup the domain.</param>
        </member>
        <member name="M:log4net.spi.LoggerManager.CreateDomain(System.String)">
            <summary>
            Creates a domain with the specified name.
            </summary>
            <param name="domain">The name of the domain, this must be unique amongst domain.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the domain.</returns>
            <remarks>
            <para>
            Creates the default type of <see cref="T:log4net.Repository.ILoggerRepository"/> which is a
            <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> object.
            </para>
            <para>
            The <paramref name="domain"/> name must be unique. Domains cannot be redefined.
            An <see cref="T:System.Exception"/> will be thrown if the domain already exists.
            </para>
            </remarks>
            <exception cref="T:log4net.spi.LogException">The specified domain already exists.</exception>
        </member>
        <member name="M:log4net.spi.LoggerManager.CreateDomain(System.String,System.Type)">
            <summary>
            Creates a domain with the specified name and repository type.
            </summary>
            <param name="domain">The name of the domain, this must be unique to the domain.</param>
            <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
            and has a no arg constructor. An instance of this type will be created to act
            as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the domain specified.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the domain.</returns>
            <remarks>
            <para>
            The <paramref name="domain"/> name must be unique. Domains cannot be redefined.
            An Exception will be thrown if the domain already exists.
            </para>
            </remarks>
            <exception cref="T:log4net.spi.LogException">The specified domain already exists.</exception>
        </member>
        <member name="M:log4net.spi.LoggerManager.CreateDomain(System.Reflection.Assembly,System.Type)">
            <summary>
            Creates a domain for the specified assembly and repository type.
            </summary>
            <param name="domainAssembly">The assembly to use to get the name of the domain.</param>
            <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
            and has a no arg constructor. An instance of this type will be created to act
            as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the domain specified.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the domain.</returns>
            <remarks>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the domain
            specified such that a call to <see cref="M:log4net.spi.LoggerManager.GetLoggerRepository(System.Reflection.Assembly)"/> with the
            same assembly specified will return the same repository instance.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.spi.LoggerManager.GetAllRepositories">
            <summary>
            Gets the list of currently defined repositories.
            </summary>
            <returns>An array of all the known <see cref="T:log4net.Repository.ILoggerRepository"/> objects.</returns>
        </member>
        <member name="M:log4net.spi.LoggerManager.GetVersionInfo">
            <summary>
            Internal method to get pertinent version info.
            </summary>
            <returns>A string of version info.</returns>
        </member>
        <member name="M:log4net.spi.LoggerManager.OnDomainUnload(System.Object,System.EventArgs)">
            <summary>
            Called when the <see cref="E:System.AppDomain.DomainUnload"/> event fires
            </summary>
            <param name="sender">the <see cref="T:System.AppDomain"/> that is exiting</param>
            <param name="e">null</param>
            <remarks>
            <para>Called when the <see cref="E:System.AppDomain.DomainUnload"/> event fires.</para>
            
            <para>When the event is triggered the log4net system is <see cref="M:log4net.spi.LoggerManager.Shutdown"/>.</para>
            </remarks>
        </member>
        <member name="M:log4net.spi.LoggerManager.OnProcessExit(System.Object,System.EventArgs)">
            <summary>
            Called when the <see cref="E:System.AppDomain.ProcessExit"/> event fires
            </summary>
            <param name="sender">the <see cref="T:System.AppDomain"/> that is exiting</param>
            <param name="e">null</param>
            <remarks>
            <para>Called when the <see cref="E:System.AppDomain.ProcessExit"/> event fires.</para>
            
            <para>When the event is triggered the log4net system is <see cref="M:log4net.spi.LoggerManager.Shutdown"/>.</para>
            </remarks>
        </member>
        <member name="F:log4net.spi.LoggerManager.s_repositorySelector">
            <summary>
            Initialise the default repository selector
            </summary>
        </member>
        <member name="P:log4net.spi.LoggerManager.RepositorySelector">
            <summary>
            Gets or sets the repository selector used by the <see cref="T:log4net.LogManager"/>.
            </summary>
            <value>
            The repository selector used by the <see cref="T:log4net.LogManager"/>.
            </value>
            <remarks>
            <para>
            The repository selector (<see cref="T:log4net.spi.IRepositorySelector"/>) is used by 
            the <see cref="T:log4net.LogManager"/> to create and select repositories 
            (<see cref="T:log4net.Repository.ILoggerRepository"/>).
            </para>
            <para>
            The caller to <see cref="T:log4net.LogManager"/> supplies either a string name 
            or an assembly (if not supplied the assembly is inferred using 
            <see cref="M:System.Reflection.Assembly.GetCallingAssembly"/>).
            </para>
            <para>
            This context is used by the selector to lookup a specific repository.
            </para>
            <para>
            For the full .NET Framework, the default repository is <c>DefaultRepositorySelector</c>;
            for the .NET Compact Framework <c>CompactRepositorySelector</c> is the default
            repository.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.spi.LoggerWrapperImpl">
            <summary>
            Implementation of the <see cref="T:log4net.spi.ILoggerWrapper"/> interface.
            </summary>
            <remarks>
            <para>
            This class should be used as the base for all wrapper implementations.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.spi.LoggerWrapperImpl.#ctor(log4net.spi.ILogger)">
            <summary>
            Constructs a new wrapper for the specified logger.
            </summary>
            <param name="logger">The logger to wrap.</param>
        </member>
        <member name="F:log4net.spi.LoggerWrapperImpl.m_logger">
            <summary>
            The logger that this object is wrapping
            </summary>
        </member>
        <member name="P:log4net.spi.LoggerWrapperImpl.Logger">
            <summary>
            Gets the implementation behind this wrapper object.
            </summary>
            <value>
            The <see cref="T:log4net.spi.ILogger"/> object that this object is implementing.
            </value>
            <remarks>
            <para>
            The <c>Logger</c> object may not be the same object as this object 
            because of logger decorators.
            </para>
            <para>
            This gets the actual underlying objects that is used to process
            the log events.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.spi.LoggingEventData">
            <summary>
            Portable data structure used by <see cref="T:log4net.spi.LoggingEvent"/>
            </summary>
        </member>
        <member name="F:log4net.spi.LoggingEventData.LoggerName">
            <summary>
            The logger name.
            </summary>
        </member>
        <member name="F:log4net.spi.LoggingEventData.Level">
            <summary>
            Level of logging event. Level cannot be Serializable
            because it is a flyweight.  Due to its special serialization it
            cannot be declared final either.
            </summary>
        </member>
        <member name="F:log4net.spi.LoggingEventData.NDC">
            <summary>
            The nested diagnostic context (NDC) of logging event.
            </summary>
        </member>
        <member name="F:log4net.spi.LoggingEventData.MDC">
            <summary>
            The local cache of the MDC dictionary
            </summary>
        </member>
        <member name="F:log4net.spi.LoggingEventData.Message">
            <summary>
            The application supplied message of logging event.
            </summary>
        </member>
        <member name="F:log4net.spi.LoggingEventData.ThreadName">
            <summary>
            The name of thread in which this logging event was generated
            </summary>
        </member>
        <member name="F:log4net.spi.LoggingEventData.TimeStamp">
            <summary>
            The time the event was logged
            </summary>
        </member>
        <member name="F:log4net.spi.LoggingEventData.LocationInfo">
            <summary>
            Location information for the caller.
            </summary>
        </member>
        <member name="F:log4net.spi.LoggingEventData.UserName">
            <summary>
            String representation of the user's windows name,
            like DOMAIN\username
            </summary>
        </member>
        <member name="F:log4net.spi.LoggingEventData.Identity">
            <summary>
            String representation of the current thread's principal identity.
            </summary>
        </member>
        <member name="F:log4net.spi.LoggingEventData.ExceptionString">
            <summary>
            The string representation of the exception
            </summary>
        </member>
        <member name="F:log4net.spi.LoggingEventData.Domain">
            <summary>
            String representation of the AppDomain.
            </summary>
        </member>
        <member name="F:log4net.spi.LoggingEventData.Properties">
            <summary>
            Additional event specific properties
            </summary>
            <remarks>
            A logger or an appender may attach additional
            properties to specific events. These properties
            have a string key and an object value.
            </remarks>
        </member>
        <member name="T:log4net.spi.FixFlags">
            <summary>
            Flags passed to the <see cref="P:log4net.spi.LoggingEvent.Fix"/> property
            </summary>
        </member>
        <member name="F:log4net.spi.FixFlags.Mdc">
            <summary>
            Fix the MDC
            </summary>
        </member>
        <member name="F:log4net.spi.FixFlags.Ndc">
            <summary>
            Fix the NDC
            </summary>
        </member>
        <member name="F:log4net.spi.FixFlags.Message">
            <summary>
            Fix the rendered message
            </summary>
        </member>
        <member name="F:log4net.spi.FixFlags.ThreadName">
            <summary>
            Fix the thread name
            </summary>
        </member>
        <member name="F:log4net.spi.FixFlags.LocationInfo">
            <summary>
            Fix the callers location information
            </summary>
            <remarks>
            CAUTION: Very slow to generate
            </remarks>
        </member>
        <member name="F:log4net.spi.FixFlags.UserName">
            <summary>
            Fix the callers windows user name
            </summary>
            <remarks>
            CAUTION: Slow to generate
            </remarks>
        </member>
        <member name="F:log4net.spi.FixFlags.Domain">
            <summary>
            Fix the domain friendly name
            </summary>
        </member>
        <member name="F:log4net.spi.FixFlags.Identity">
            <summary>
            Fix the callers principal name
            </summary>
            <remarks>
            CAUTION: May be slow to generate
            </remarks>
        </member>
        <member name="F:log4net.spi.FixFlags.Exception">
            <summary>
            Fix the exception text
            </summary>
        </member>
        <member name="F:log4net.spi.FixFlags.None">
            <summary>
            No fields fixed
            </summary>
        </member>
        <member name="F:log4net.spi.FixFlags.All">
            <summary>
            All fields fixed
            </summary>
        </member>
        <member name="F:log4net.spi.FixFlags.Partial">
            <summary>
            Partial fields fixed
            </summary>
            <remarks>
            <para>
            This set of partial fields gives good performance. The following fields are fixed:
            </para>
            <list type="bullet">
            <item><description><see cref="F:log4net.spi.FixFlags.Mdc"/></description></item>
            <item><description><see cref="F:log4net.spi.FixFlags.Ndc"/></description></item>
            <item><description><see cref="F:log4net.spi.FixFlags.Message"/></description></item>
            <item><description><see cref="F:log4net.spi.FixFlags.ThreadName"/></description></item>
            <item><description><see cref="F:log4net.spi.FixFlags.Exception"/></description></item>
            <item><description><see cref="F:log4net.spi.FixFlags.Domain"/></description></item>
            </list>
            </remarks>
        </member>
        <member name="T:log4net.spi.LoggingEvent">
            <summary>
            The internal representation of logging events. 
            </summary>
            <remarks>
            <para>When an affirmative decision is made to log then a 
            <see cref="T:log4net.spi.LoggingEvent"/> instance is created. This instance 
            is passed around to the different log4net components.</para>
            
            <para>This class is of concern to those wishing to extend log4net.</para>
            
            <para>Some of the values in instances of <see cref="T:log4net.spi.LoggingEvent"/>
            are considered volatile, that is the values are correct at the
            time the event is delivered to appenders, but will not be consistent
            at any time afterwards. If an event is to be stored and then processed
            at a later time these volatile values must be fixed by calling
            <see cref="M:log4net.spi.LoggingEvent.FixVolatileData"/>. There is a performance penalty
            for incurred by calling <see cref="M:log4net.spi.LoggingEvent.FixVolatileData"/> but it
            is essential to maintaining data consistency.</para>
            </remarks>
        </member>
        <member name="F:log4net.spi.LoggingEvent.HostNameProperty">
            <summary>
            The key into the <see cref="P:log4net.spi.LoggingEvent.Properties"/> map for the host name value.
            </summary>
        </member>
        <member name="F:log4net.spi.LoggingEvent.IdentityProperty">
            <summary>
            The key into the <see cref="P:log4net.spi.LoggingEvent.Properties"/> map for the host name value.
            </summary>
        </member>
        <member name="F:log4net.spi.LoggingEvent.UserNameProperty">
            <summary>
            The key into the <see cref="P:log4net.spi.LoggingEvent.Properties"/> map for the host name value.
            </summary>
        </member>
        <member name="M:log4net.spi.LoggingEvent.#ctor(System.String,log4net.Repository.ILoggerRepository,System.String,log4net.spi.Level,System.Object,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.spi.LoggingEvent"/> class
            from the supplied parameters.
            </summary>
            <param name="fullNameOfLoggerClass">Fully qualified classname of the logger.</param>
            <param name="repository">The repository this event is logged in.</param>
            <param name="loggerName">The name of the logger of this event.</param>
            <param name="level">The level of this event.</param>
            <param name="message">The message of this event.</param>
            <param name="exception">The exception for this event.</param>
            <remarks>
            <para>
            Except <see cref="P:log4net.spi.LoggingEvent.TimeStamp"/>, <see cref="P:log4net.spi.LoggingEvent.Level"/> and <see cref="P:log4net.spi.LoggingEvent.LoggerName"/>, 
            all fields of <c>LoggingEvent</c> are filled when actually needed. Call
            <see cref="M:log4net.spi.LoggingEvent.FixVolatileData"/> to cache all data locally
            to prevent inconsistencies.
            </para>
            <para>This method is called by the log4net framework
            to create a logging event.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.spi.LoggingEvent.#ctor(log4net.spi.LoggingEventData)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.spi.LoggingEvent"/> class 
            using specific data.
            </summary>
            <param name="data">Data used to initialise the logging event.</param>
            <remarks>
            <para>
            This constructor is provided to allow a <see cref="T:log4net.spi.LoggingEvent"/>
            to be created independently of the log4net framework. This can
            be useful if you require a custom serialization scheme.
            </para>
            <para>
            Use the <see cref="M:log4net.spi.LoggingEvent.GetLoggingEventData"/> method to obtain an 
            instance of the <see cref="T:log4net.spi.LoggingEventData"/> class.</para>
            </remarks>
        </member>
        <member name="M:log4net.spi.LoggingEvent.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.spi.LoggingEvent"/> class 
            with serialized data.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
        </member>
        <member name="M:log4net.spi.LoggingEvent.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Serializes this object into the <see cref="T:System.Runtime.Serialization.SerializationInfo"/> provided.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> to populate with data.</param>
            <param name="context">The destination for this serialization.</param>
            <remarks>
            <para>
            The data in this event must be fixed before it can be serialised.
            </para>
            <para>
            The <see cref="M:log4net.spi.LoggingEvent.FixVolatileData"/> method must be called during the
            <see cref="M:log4net.Appender.IAppender.DoAppend(log4net.spi.LoggingEvent)"/> method call if this event 
            is to be used outside that method.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.spi.LoggingEvent.GetLoggingEventData">
            <summary>
            Gets the portable data for this <see cref="T:log4net.spi.LoggingEvent"/>.
            </summary>
            <remarks>
            <para>
            A new <see cref="T:log4net.spi.LoggingEvent"/> can be constructed using a
            <see cref="T:log4net.spi.LoggingEventData"/> instance.</para>
            </remarks>
            <returns>The <see cref="T:log4net.spi.LoggingEventData"/> for this event.</returns>
        </member>
        <member name="M:log4net.spi.LoggingEvent.LookupMappedContext(System.String)">
            <summary>
            Looks up the specified key in the <see cref="T:log4net.MDC"/>.
            </summary>
            <param name="key">The key to lookup.</param>
            <returns>
            The value associated with the key, or <c>null</c> if the key was not found.
            </returns>
        </member>
        <member name="M:log4net.spi.LoggingEvent.GetExceptionStrRep">
            <summary>
            Returns this event's exception's rendered using the 
            <see cref="P:log4net.Repository.ILoggerRepository.RendererMap"/>.
            </summary>
            <returns>
            This event's exception's rendered using the <see cref="P:log4net.Repository.ILoggerRepository.RendererMap"/>.
            </returns>
        </member>
        <member name="M:log4net.spi.LoggingEvent.FixVolatileData">
            <summary>
            Fixs instance fields that hold volatile data.
            </summary>
            <remarks>
            <para>
            Some of the values in instances of <see cref="T:log4net.spi.LoggingEvent"/>
            are considered volatile, that is the values are correct at the
            time the event is delivered to appenders, but will not be consistent
            at any time afterwards. If an event is to be stored and then processed
            at a later time these volatile values must be fixed by calling
            <see cref="M:log4net.spi.LoggingEvent.FixVolatileData"/>. There is a performance penalty
            incurred by calling <see cref="M:log4net.spi.LoggingEvent.FixVolatileData"/> but it
            is essential to maintaining data consistency.
            </para>
            <para>
            Calling <see cref="M:log4net.spi.LoggingEvent.FixVolatileData"/> is equivalent to
            calling <see cref="M:log4net.spi.LoggingEvent.FixVolatileData(System.Boolean)"/> passing the parameter
            <c>false</c>.
            </para>
            <para>
            See <see cref="M:log4net.spi.LoggingEvent.FixVolatileData(System.Boolean)"/> for more
            information.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.spi.LoggingEvent.FixVolatileData(System.Boolean)">
            <summary>
            Fixes instance fields that hold volatile data.
            </summary>
            <param name="fastButLoose">Set to <c>true</c> to not fix data that takes a long time to fix.</param>
            <remarks>
            <para>
            Some of the values in instances of <see cref="T:log4net.spi.LoggingEvent"/>
            are considered volatile, that is the values are correct at the
            time the event is delivered to appenders, but will not be consistent
            at any time afterwards. If an event is to be stored and then processed
            at a later time these volatile values must be fixed by calling
            <see cref="M:log4net.spi.LoggingEvent.FixVolatileData"/>. There is a performance penalty
            for incurred by calling <see cref="M:log4net.spi.LoggingEvent.FixVolatileData"/> but it
            is essential to maintaining data consistency.
            </para>
            <para>
            The <paramref name="fastButLoose"/> param controls the data that
            is fixed. Some of the data that can be fixed takes a long time to 
            generate, therefore if you do not require those settings to be fixed
            they can be ignored by setting the <paramref name="fastButLoose"/> param
            to <c>true</c>. This setting will ignore the <see cref="P:log4net.spi.LoggingEvent.LocationInformation"/>
            and <see cref="P:log4net.spi.LoggingEvent.UserName"/> settings.
            </para>
            <para>
            Set <paramref name="fastButLoose"/> to <c>false</c> to ensure that all 
            settings are fixed.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.spi.LoggingEvent.FixVolatileData(log4net.spi.FixFlags)">
            <summary>
            Fix the fields specified by the <see cref="T:log4net.spi.FixFlags"/> parameter
            </summary>
            <param name="flags">the fields to fix</param>
            <remarks>
            Only fields specified in the <paramref name="flags"/> will be fixed.
            Fields will not be fixed if they have previously been fixed.
            It is not possible to 'unfix' a field.
            </remarks>
        </member>
        <member name="M:log4net.spi.LoggingEvent.CacheMappedContext">
            <summary>
            Creates a cached copy of the <see cref="T:log4net.MDC"/>.
            </summary>
        </member>
        <member name="F:log4net.spi.LoggingEvent.s_startTime">
            <summary>
            Stores the time when this class is loaded.
            </summary>
            <remarks>
            This is used to provide times relative to the
            application start.
            </remarks>
        </member>
        <member name="F:log4net.spi.LoggingEvent.m_data">
            <summary>
            The internal logging event data.
            </summary>
        </member>
        <member name="F:log4net.spi.LoggingEvent.m_fqnOfLoggerClass">
            <summary>
            The fully qualified classname of the calling 
            logger class.
            </summary>
        </member>
        <member name="F:log4net.spi.LoggingEvent.m_message">
            <summary>
            The application supplied message of logging event.
            </summary>
        </member>
        <member name="F:log4net.spi.LoggingEvent.m_thrownException">
            <summary>
            The exception that was thrown.
            </summary>
            <remarks>
            This is not serialised. The string representation
            is serialised instead.
            </remarks>
        </member>
        <member name="F:log4net.spi.LoggingEvent.m_repository">
            <summary>
            The repository that generated the logging event
            </summary>
            <remarks>
            This is not serialised.
            </remarks>
        </member>
        <member name="F:log4net.spi.LoggingEvent.m_fixFlags">
            <summary>
            The fix state for this event
            </summary>
            <remarks>
            These flags indicate which fields have been fixed.
            Not serialised.
            </remarks>
        </member>
        <member name="P:log4net.spi.LoggingEvent.StartTime">
            <summary>
            Gets the time when the application started, in milliseconds elapsed 
            since 01.01.1970.
            </summary>
            <value>
            The time when the application started, in milliseconds elapsed 
            since 01.01.1970.
            </value>
        </member>
        <member name="P:log4net.spi.LoggingEvent.Level">
            <summary>
            Gets the <see cref="P:log4net.spi.LoggingEvent.Level"/> of the logging event.
            </summary>
            <value>
            The <see cref="P:log4net.spi.LoggingEvent.Level"/> of the logging event.
            </value>
        </member>
        <member name="P:log4net.spi.LoggingEvent.TimeStamp">
            <summary>
            Gets the time of the logging event.
            </summary>
            <value>
            The time of the logging event.
            </value>
        </member>
        <member name="P:log4net.spi.LoggingEvent.LoggerName">
            <summary>
            Gets the name of the logger that logged the event.
            </summary>
            <value>
            The name of the logger that logged the event.
            </value>
        </member>
        <member name="P:log4net.spi.LoggingEvent.LocationInformation">
            <summary>
            Gets the location information for this logging event.
            </summary>
            <value>
            The location information for this logging event.
            </value>
            <remarks>
            The collected information is cached for future use.
            </remarks>
        </member>
        <member name="P:log4net.spi.LoggingEvent.NestedContext">
            <summary>
            Gets the text of the <see cref="T:log4net.NDC"/>.
            </summary>
            <value>
            The text of the <see cref="T:log4net.NDC"/>.
            </value>
        </member>
        <member name="P:log4net.spi.LoggingEvent.MappedContext">
            <summary>
            Get the MDC dictionary.
            </summary>
        </member>
        <member name="P:log4net.spi.LoggingEvent.MessageObject">
            <summary>
            Gets the message object used to initialise this event.
            </summary>
            <value>
            The message object used to initialise this event.
            </value>
            <remarks>
            Gets the message object used to initialise this event.
            Note that this event may not have a valid message object.
            If the event is serialised the message object will not 
            be transferred. To get the text of the message the
            <see cref="P:log4net.spi.LoggingEvent.RenderedMessage"/> property must be used 
            not this property.
            If there is no defined message object for this event then
            null will be returned.
            </remarks>
        </member>
        <member name="P:log4net.spi.LoggingEvent.RenderedMessage">
            <summary>
            Gets the message, rendered through the <see cref="P:log4net.Repository.ILoggerRepository.RendererMap"/>.
            </summary>
            <value>
            The message rendered through the <see cref="P:log4net.Repository.ILoggerRepository.RendererMap"/>.
            </value>
            <remarks>
            The collected information is cached for future use.
            </remarks>
        </member>
        <member name="P:log4net.spi.LoggingEvent.ThreadName">
            <summary>
            Gets the name of the current thread.  
            </summary>
            <value>
            The name of the current thread, or the thread ID when 
            the name is not available.
            </value>
            <remarks>
            The collected information is cached for future use.
            </remarks>
        </member>
        <member name="P:log4net.spi.LoggingEvent.UserName">
            <summary>
            Gets the name of the current user.
            </summary>
            <value>
            The name of the current user, or <c>NOT AVAILABLE</c> when the 
            underlying runtime has no support for retrieving the name of the 
            current user.
            </value>
            <remarks>
            <para>
            Calls <c>WindowsIdentity.GetCurrent().Name</c> to get the name of
            the current windows user.
            </para>
            <para>
            To improve performance, we could cache the string representation of 
            the name, and reuse that as long as the identity stayed constant.  
            Once the identity changed, we would need to re-assign and re-render 
            the string.
            </para>
            <para>
            However, the <c>WindowsIdentity.GetCurrent()</c> call seems to 
            return different objects every time, so the current implementation 
            doesn't do this type of caching.
            </para>
            <para>
            Timing for these operations:
            </para>
            <code>
            00:00:00.2031250 sec, 10000 loops, WindowsIdentity.GetCurrent()
            00:00:08.0468750 sec, 10000 loops, WindowsIdentity.GetCurrent().Name
            </code>
            <para>
            This means we could speed things up almost 40 times by caching the 
            value of the <c>WindowsIdentity.GetCurrent().Name</c> property, since 
            this takes (8.04-0.20) = 7.84375 seconds.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.spi.LoggingEvent.Identity">
            <summary>
            Gets the identity of the current thread principal.
            </summary>
            <value>
            The string name of the identity of the current thread principal.
            </value>
            <remarks>
            <para>
            Calls <c>System.Threading.Thread.CurrentPrincipal.Identity.Name</c> to get
            the name of the current thread principal.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.spi.LoggingEvent.Domain">
            <summary>
            Gets the AppDomain friendly name.
            </summary>
        </member>
        <member name="P:log4net.spi.LoggingEvent.Properties">
            <summary>
            Gets additional event specific properties.
            </summary>
            <value>
            Additional event specific properties.
            </value>
            <remarks>
            A logger or an appender may attach additional
            properties to specific events. These properties
            have a string key and an object value.
            </remarks>
        </member>
        <member name="P:log4net.spi.LoggingEvent.Fix">
            <summary>
            The fixed fields in this event
            </summary>
            <value>
            The set of fields that are fixed in this event
            </value>
            <remarks>
            <para>
            Fields will not be fixed if they have previously been fixed.
            It is not possible to 'unfix' a field.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.spi.LogImpl">
            <summary>
            Implementation of <see cref="T:log4net.ILog"/> wrapper interface.
            </summary>
            <remarks>
            <para>
            This implementation of the <see cref="T:log4net.ILog"/> interface
            forwards to the <see cref="T:log4net.spi.ILogger"/> held by the base class.
            </para>
            </remarks>
        </member>
        <member name="T:log4net.ILog">
            <summary>
            The ILog interface is use by application to log messages into
            the log4net framework.
            </summary>
            <remarks>
            <para>
            Use the <see cref="T:log4net.LogManager"/> to obtain logger instances
            that implement this interface. The <see cref="M:log4net.LogManager.GetLogger(System.String)"/>
            static method is used to get logger instances.
            </para>
            <para>
            This class contains methods for logging at different levels and also
            has properties for determining if those logging levels are
            enabled in the current configuration.
            </para>
            </remarks>
            <example>Simple example of logging messages
            <code>
            ILog log = LogManager.GetLogger("application-log");
            
            log.Info("Application Start");
            log.Debug("This is a debug message");
            
            if (log.IsDebugEnabled)
            {
            	log.Debug("This is another debug message");
            }
            </code>
            </example>
            <seealso cref="T:log4net.LogManager"/>
            <seealso cref="M:log4net.LogManager.GetLogger(System.String)"/>
        </member>
        <member name="M:log4net.ILog.Debug(System.Object)">
            <summary>
            Logs a message object with the <see cref="F:log4net.spi.Level.DEBUG"/> level.
            </summary>
            <remarks>
            <para>
            This method first checks if this logger is <c>DEBUG</c>
            enabled by comparing the level of this logger with the 
            <see cref="F:log4net.spi.Level.DEBUG"/> level. If this logger is
            <c>DEBUG</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of 
            the additivity flag.
            </para>
            <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
            to this method will print the name of the <see cref="T:System.Exception"/> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:log4net.ILog.Debug(System.Object,System.Exception)"/> form instead.
            </para>
            </remarks>
            <param name="message">The message object to log.</param>
            <seealso cref="M:log4net.ILog.Debug(System.Object,System.Exception)"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="M:log4net.ILog.Debug(System.Object,System.Exception)">
            <summary>
            Log a message object with the <see cref="F:log4net.spi.Level.DEBUG"/> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <remarks>
            See the <see cref="M:log4net.ILog.Debug(System.Object)"/> form for more detailed information.
            </remarks>
            <param name="message">The message object to log.</param>
            <param name="t">The exception to log, including its stack trace.</param>
            <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="M:log4net.ILog.Info(System.Object)">
            <summary>
            Logs a message object with the <see cref="F:log4net.spi.Level.INFO"/> level.
            </summary>
            <remarks>
            <para>
            This method first checks if this logger is <c>INFO</c>
            enabled by comparing the level of this logger with the 
            <see cref="F:log4net.spi.Level.INFO"/> level. If this logger is
            <c>INFO</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of the 
            additivity flag.
            </para>
            <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
            to this method will print the name of the <see cref="T:System.Exception"/> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:log4net.ILog.Info(System.Object,System.Exception)"/> form instead.
            </para>
            </remarks>
            <param name="message">The message object to log.</param>
            <seealso cref="M:log4net.ILog.Info(System.Object,System.Exception)"/>
            <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
        </member>
        <member name="M:log4net.ILog.Info(System.Object,System.Exception)">
            <summary>
            Logs a message object with the <c>INFO</c> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <remarks>
            See the <see cref="M:log4net.ILog.Info(System.Object)"/> form for more detailed information.
            </remarks>
            <param name="message">The message object to log.</param>
            <param name="t">The exception to log, including its stack trace.</param>
            <seealso cref="M:log4net.ILog.Info(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
        </member>
        <member name="M:log4net.ILog.Warn(System.Object)">
            <summary>
            Log a message object with the <see cref="F:log4net.spi.Level.WARN"/> level.
            </summary>
            <remarks>
            <para>
            This method first checks if this logger is <c>WARN</c>
            enabled by comparing the level of this logger with the 
            <see cref="F:log4net.spi.Level.WARN"/> level. If this logger is
            <c>WARN</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of the 
            additivity flag.
            </para>
            <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
            to this method will print the name of the <see cref="T:System.Exception"/> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:log4net.ILog.Warn(System.Object,System.Exception)"/> form instead.
            </para>
            </remarks>
            <param name="message">The message object to log.</param>
            <seealso cref="M:log4net.ILog.Warn(System.Object,System.Exception)"/>
            <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
        </member>
        <member name="M:log4net.ILog.Warn(System.Object,System.Exception)">
            <summary>
            Log a message object with the <see cref="F:log4net.spi.Level.WARN"/> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <remarks>
            See the <see cref="M:log4net.ILog.Warn(System.Object)"/> form for more detailed information.
            </remarks>
            <param name="message">The message object to log.</param>
            <param name="t">The exception to log, including its stack trace.</param>
            <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
        </member>
        <member name="M:log4net.ILog.Error(System.Object)">
            <summary>
            Logs a message object with the <see cref="F:log4net.spi.Level.ERROR"/> level.
            </summary>
            <remarks>
            <para>
            This method first checks if this logger is <c>ERROR</c>
            enabled by comparing the level of this logger with the 
            <see cref="F:log4net.spi.Level.ERROR"/> level. If this logger is
            <c>ERROR</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of the 
            additivity flag.
            </para>
            <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
            to this method will print the name of the <see cref="T:System.Exception"/> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:log4net.ILog.Error(System.Object,System.Exception)"/> form instead.
            </para>
            </remarks>
            <param name="message">The message object to log.</param>
            <seealso cref="M:log4net.ILog.Error(System.Object,System.Exception)"/>
            <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
        </member>
        <member name="M:log4net.ILog.Error(System.Object,System.Exception)">
            <summary>
            Log a message object with the <see cref="F:log4net.spi.Level.ERROR"/> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <remarks>
            See the <see cref="M:log4net.ILog.Error(System.Object)"/> form for more detailed information.
            </remarks>
            <param name="message">The message object to log.</param>
            <param name="t">The exception to log, including its stack trace.</param>
            <seealso cref="M:log4net.ILog.Error(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
        </member>
        <member name="M:log4net.ILog.Fatal(System.Object)">
            <summary>
            Log a message object with the <see cref="F:log4net.spi.Level.FATAL"/> level.
            </summary>
            <remarks>
            <para>
            This method first checks if this logger is <c>FATAL</c>
            enabled by comparing the level of this logger with the 
            <see cref="F:log4net.spi.Level.FATAL"/> level. If this logger is
            <c>FATAL</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of the 
            additivity flag.
            </para>
            <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
            to this method will print the name of the <see cref="T:System.Exception"/> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:log4net.ILog.Fatal(System.Object,System.Exception)"/> form instead.
            </para>
            </remarks>
            <param name="message">The message object to log.</param>
            <seealso cref="M:log4net.ILog.Fatal(System.Object,System.Exception)"/>
            <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
        </member>
        <member name="M:log4net.ILog.Fatal(System.Object,System.Exception)">
            <summary>
            Log a message object with the <see cref="F:log4net.spi.Level.FATAL"/> level including
            the stack trace of the <see cref="T:System.Exception"/> passed
            as a parameter.
            </summary>
            <remarks>
            See the <see cref="M:log4net.ILog.Fatal(System.Object)"/> form for more detailed information.
            </remarks>
            <param name="message">The message object to log.</param>
            <param name="t">The exception to log, including its stack trace.</param>
            <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
        </member>
        <member name="P:log4net.ILog.IsDebugEnabled">
            <summary>
            Checks if this logger is enabled for the <see cref="F:log4net.spi.Level.DEBUG"/> level.
            </summary>
            <value>
            <c>true</c> if this logger is enabled for <see cref="F:log4net.spi.Level.DEBUG"/> events, <c>false</c> otherwise.
            </value>
            <remarks>
            <para>
            This function is intended to lessen the computational cost of
            disabled log debug statements.
            </para>
            <para> For some ILog interface <c>log</c>, when you write:</para>
            <code>
            log.Debug("This is entry number: " + i );
            </code>
            <para>
            You incur the cost constructing the message, string construction and concatenation in
            this case, regardless of whether the message is logged or not.
            </para>
            <para>
            If you are worried about speed (who isn't), then you should write:
            </para>
            <code>
            if (log.IsDebugEnabled)
            { 
                log.Debug("This is entry number: " + i );
            }
            </code>
            <para>
            This way you will not incur the cost of parameter
            construction if debugging is disabled for <c>log</c>. On
            the other hand, if the <c>log</c> is debug enabled, you
            will incur the cost of evaluating whether the logger is debug
            enabled twice. Once in <see cref="P:log4net.ILog.IsDebugEnabled"/> and once in
            the <see cref="M:log4net.ILog.Debug(System.Object)"/>.  This is an insignificant overhead
            since evaluating a logger takes about 1% of the time it
            takes to actually log. This is the preferred style of logging.
            </para>
            <para>Alternatively if your logger is available statically then the is debug
            enabled state can be stored in a static variable like this:
            </para>
            <code>
            private static readonly bool isDebugEnabled = log.IsDebugEnabled;
            </code>
            <para>
            Then when you come to log you can write:
            </para>
            <code>
            if (isDebugEnabled)
            { 
                log.Debug("This is entry number: " + i );
            }
            </code>
            <para>
            This way the debug enabled state is only queried once
            when the class is loaded. Using a <c>private static readonly</c>
            variable is the most efficient because it is a run time constant
            and can be heavily optimised by the JIT compiler.
            </para>
            <para>
            Of course if you use a static readonly variable to
            hold the enabled state of the logger then you cannot
            change the enabled state at runtime to vary the logging
            that is produced. You have to decide if you need absolute
            speed or runtime flexibility.
            </para>
            </remarks>
            <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
        </member>
        <member name="P:log4net.ILog.IsInfoEnabled">
            <summary>
            Checks if this logger is enabled for the <see cref="F:log4net.spi.Level.INFO"/> level.
            </summary>
            <value>
            <c>true</c> if this logger is enabled for <see cref="F:log4net.spi.Level.INFO"/> events, <c>false</c> otherwise.
            </value>
            <remarks>
            For more information see <see cref="P:log4net.ILog.IsDebugEnabled"/>.
            </remarks>
            <seealso cref="M:log4net.ILog.Info(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="P:log4net.ILog.IsWarnEnabled">
            <summary>
            Checks if this logger is enabled for the <see cref="F:log4net.spi.Level.WARN"/> level.
            </summary>
            <value>
            <c>true</c> if this logger is enabled for <see cref="F:log4net.spi.Level.WARN"/> events, <c>false</c> otherwise.
            </value>
            <remarks>
            For more information see <see cref="P:log4net.ILog.IsDebugEnabled"/>.
            </remarks>
            <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="P:log4net.ILog.IsErrorEnabled">
            <summary>
            Checks if this logger is enabled for the <see cref="F:log4net.spi.Level.ERROR"/> level.
            </summary>
            <value>
            <c>true</c> if this logger is enabled for <see cref="F:log4net.spi.Level.ERROR"/> events, <c>false</c> otherwise.
            </value>
            <remarks>
            For more information see <see cref="P:log4net.ILog.IsDebugEnabled"/>.
            </remarks>
            <seealso cref="M:log4net.ILog.Error(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="P:log4net.ILog.IsFatalEnabled">
            <summary>
            Checks if this logger is enabled for the <see cref="F:log4net.spi.Level.FATAL"/> level.
            </summary>
            <value>
            <c>true</c> if this logger is enabled for <see cref="F:log4net.spi.Level.FATAL"/> events, <c>false</c> otherwise.
            </value>
            <remarks>
            For more information see <see cref="P:log4net.ILog.IsDebugEnabled"/>.
            </remarks>
            <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="M:log4net.spi.LogImpl.#ctor(log4net.spi.ILogger)">
            <summary>
            Construct a new wrapper for the specified logger.
            </summary>
            <param name="logger">The logger to wrap.</param>
        </member>
        <member name="M:log4net.spi.LogImpl.Debug(System.Object)">
            <summary>
            Logs a message object with the <see cref="F:log4net.spi.Level.DEBUG"/> level.
            </summary>
            <param name="message">The message object to log.</param>
            <remarks>
            <para>
            This method first checks if this logger is <c>DEBUG</c>
            enabled by comparing the level of this logger with the 
            <see cref="F:log4net.spi.Level.DEBUG"/> level. If this logger is
            <c>DEBUG</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of the 
            additivity flag.
            </para>
            <para>
            <b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
            to this method will print the name of the <see cref="T:System.Exception"/> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:log4net.spi.LogImpl.Debug(System.Object,System.Exception)"/> form instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.spi.LogImpl.Debug(System.Object,System.Exception)">
            <summary>
            Logs a message object with the <c>DEBUG</c> level including
            the stack trace of the <see cref="T:System.Exception"/> <paramref name="t"/> passed
            as a parameter.
            </summary>
            <param name="message">The message object to log.</param>
            <param name="t">The exception to log, including its stack trace.</param>
            <remarks>
            See the <see cref="M:log4net.spi.LogImpl.Debug(System.Object)"/> form for more detailed information.
            </remarks>
            <seealso cref="M:log4net.spi.LogImpl.Debug(System.Object)"/>
        </member>
        <member name="M:log4net.spi.LogImpl.Info(System.Object)">
            <summary>
            Logs a message object with the <see cref="F:log4net.spi.Level.INFO"/> level.
            </summary>
            <param name="message">The message object to log.</param>
            <remarks>
            <para>
            This method first checks if this logger is <c>INFO</c>
            enabled by comparing the level of this logger with the 
            <see cref="F:log4net.spi.Level.INFO"/> level. If this logger is
            <c>INFO</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger 
            and also higher in the hierarchy depending on the value of 
            the additivity flag.
            </para>
            <para>
            <b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
            to this method will print the name of the <see cref="T:System.Exception"/> 
            but no stack trace. To print a stack trace use the 
            <see cref="M:log4net.spi.LogImpl.Info(System.Object,System.Exception)"/> form instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.spi.LogImpl.Info(System.Object,System.Exception)">
            <summary>
            Logs a message object with the <c>INFO</c> level including
            the stack trace of the <see cref="T:System.Exception"/> <paramref name="t"/> 
            passed as a parameter.
            </summary>
            <param name="message">The message object to log.</param>
            <param name="t">The exception to log, including its stack trace.</param>
            <remarks>
            See the <see cref="M:log4net.spi.LogImpl.Info(System.Object)"/> form for more detailed information.
            </remarks>
            <seealso cref="M:log4net.spi.LogImpl.Info(System.Object)"/>
        </member>
        <member name="M:log4net.spi.LogImpl.Warn(System.Object)">
            <summary>
            Logs a message object with the <see cref="F:log4net.spi.Level.WARN"/> level.
            </summary>
            <param name="message">the message object to log</param>
            <remarks>
            <para>
            This method first checks if this logger is <c>WARN</c>
            enabled by comparing the level of this logger with the 
            <see cref="F:log4net.spi.Level.WARN"/> level. If this logger is
            <c>WARN</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger and 
            also higher in the hierarchy depending on the value of the 
            additivity flag.
            </para>
            <para>
            <b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> to this
            method will print the name of the <see cref="T:System.Exception"/> but no
            stack trace. To print a stack trace use the 
            <see cref="M:log4net.spi.LogImpl.Warn(System.Object,System.Exception)"/> form instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.spi.LogImpl.Warn(System.Object,System.Exception)">
            <summary>
            Logs a message object with the <c>WARN</c> level including
            the stack trace of the <see cref="T:System.Exception"/> <paramref name="t"/> 
            passed as a parameter.
            </summary>
            <param name="message">The message object to log.</param>
            <param name="t">The exception to log, including its stack trace.</param>
            <remarks>
            See the <see cref="M:log4net.spi.LogImpl.Warn(System.Object)"/> form for more detailed information.
            </remarks>
            <seealso cref="M:log4net.spi.LogImpl.Warn(System.Object)"/>
        </member>
        <member name="M:log4net.spi.LogImpl.Error(System.Object)">
            <summary>
            Logs a message object with the <see cref="F:log4net.spi.Level.ERROR"/> level.
            </summary>
            <param name="message">The message object to log.</param>
            <remarks>
            <para>
            This method first checks if this logger is <c>ERROR</c>
            enabled by comparing the level of this logger with the 
            <see cref="F:log4net.spi.Level.ERROR"/> level. If this logger is
            <c>ERROR</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger and 
            also higher in the hierarchy depending on the value of the 
            additivity flag.
            </para>
            <para>
            <b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> to this
            method will print the name of the <see cref="T:System.Exception"/> but no
            stack trace. To print a stack trace use the 
            <see cref="M:log4net.spi.LogImpl.Error(System.Object,System.Exception)"/> form instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.spi.LogImpl.Error(System.Object,System.Exception)">
            <summary>
            Logs a message object with the <c>ERROR</c> level including
            the stack trace of the <see cref="T:System.Exception"/> <paramref name="t"/> 
            passed as a parameter.
            </summary>
            <param name="message">The message object to log.</param>
            <param name="t">The exception to log, including its stack trace.</param>
            <remarks>
            See the <see cref="M:log4net.spi.LogImpl.Error(System.Object)"/> form for more detailed information.
            </remarks>
            <seealso cref="M:log4net.spi.LogImpl.Error(System.Object)"/>
        </member>
        <member name="M:log4net.spi.LogImpl.Fatal(System.Object)">
            <summary>
            Logs a message object with the <see cref="F:log4net.spi.Level.FATAL"/> level.
            </summary>
            <param name="message">The message object to log.</param>
            <remarks>
            <para>
            This method first checks if this logger is <c>FATAL</c>
            enabled by comparing the level of this logger with the 
            <see cref="F:log4net.spi.Level.FATAL"/> level. If this logger is
            <c>FATAL</c> enabled, then it converts the message object
            (passed as parameter) to a string by invoking the appropriate
            <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
            proceeds to call all the registered appenders in this logger and 
            also higher in the hierarchy depending on the value of the 
            additivity flag.
            </para>
            <para>
            <b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> to this
            method will print the name of the <see cref="T:System.Exception"/> but no
            stack trace. To print a stack trace use the 
            <see cref="M:log4net.spi.LogImpl.Fatal(System.Object,System.Exception)"/> form instead.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.spi.LogImpl.Fatal(System.Object,System.Exception)">
            <summary>
            Logs a message object with the <c>FATAL</c> level including
            the stack trace of the <see cref="T:System.Exception"/> <paramref name="t"/> 
            passed as a parameter.
            </summary>
            <param name="message">The message object to log.</param>
            <param name="t">The exception to log, including its stack trace.</param>
            <remarks>
            See the <see cref="M:log4net.spi.LogImpl.Fatal(System.Object)"/> form for more detailed information.
            </remarks>
            <seealso cref="M:log4net.spi.LogImpl.Fatal(System.Object)"/>
        </member>
        <member name="F:log4net.spi.LogImpl.m_fullName">
            <summary>
            The fully qualified name of the Logger class.
            </summary>
        </member>
        <member name="P:log4net.spi.LogImpl.FullName">
            <summary>
            Gets the fully qualified classname of the logger.
            </summary>
            <value>
            The fully qualified classname of the logger.
            </value>
        </member>
        <member name="P:log4net.spi.LogImpl.IsDebugEnabled">
            <summary>
            Checks if this logger is enabled for the <c>DEBUG</c>
            level.
            </summary>
            <value>
            <c>true</c> if this logger is enabled for <c>DEBUG</c> events,
            <c>false</c> otherwise.
            </value>
            <remarks>
            <para>
            This function is intended to lessen the computational cost of
            disabled log debug statements.
            </para>
            <para>
            For some <c>log</c> Logger object, when you write:
            </para>
            <code>
            log.Debug("This is entry number: " + i );
            </code>
            <para>
            You incur the cost constructing the message, concatenation in
            this case, regardless of whether the message is logged or not.
            </para>
            <para>
            If you are worried about speed, then you should write:
            </para>
            <code>
            if (log.IsDebugEnabled())
            { 
             log.Debug("This is entry number: " + i );
            }
            </code>
            <para>
            This way you will not incur the cost of parameter
            construction if debugging is disabled for <c>log</c>. On
            the other hand, if the <c>log</c> is debug enabled, you
            will incur the cost of evaluating whether the logger is debug
            enabled twice. Once in <c>IsDebugEnabled</c> and once in
            the <c>Debug</c>.  This is an insignificant overhead
            since evaluating a logger takes about 1% of the time it
            takes to actually log.
            </para>
            </remarks>
        </member>
        <member name="P:log4net.spi.LogImpl.IsInfoEnabled">
            <summary>
            Checks if this logger is enabled for the <c>INFO</c> level.
            </summary>
            <value>
            <c>true</c> if this logger is enabled for <c>INFO</c> events,
            <c>false</c> otherwise.
            </value>
            <remarks>
            See <see cref="P:log4net.spi.LogImpl.IsDebugEnabled"/> for more information and examples 
            of using this method.
            </remarks>
            <seealso cref="P:log4net.spi.LogImpl.IsDebugEnabled"/>
        </member>
        <member name="P:log4net.spi.LogImpl.IsWarnEnabled">
            <summary>
            Checks if this logger is enabled for the <c>WARN</c> level.
            </summary>
            <value>
            <c>true</c> if this logger is enabled for <c>WARN</c> events,
            <c>false</c> otherwise.
            </value>
            <remarks>
            See <see cref="P:log4net.spi.LogImpl.IsDebugEnabled"/> for more information and examples 
            of using this method.
            </remarks>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="P:log4net.spi.LogImpl.IsErrorEnabled">
            <summary>
            Checks if this logger is enabled for the <c>ERROR</c> level.
            </summary>
            <value>
            <c>true</c> if this logger is enabled for <c>ERROR</c> events,
            <c>false</c> otherwise.
            </value>
            <remarks>
            See <see cref="P:log4net.spi.LogImpl.IsDebugEnabled"/> for more information and examples of using this method.
            </remarks>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="P:log4net.spi.LogImpl.IsFatalEnabled">
            <summary>
            Checks if this logger is enabled for the <c>FATAL</c> level.
            </summary>
            <value>
            <c>true</c> if this logger is enabled for <c>FATAL</c> events,
            <c>false</c> otherwise.
            </value>
            <remarks>
            See <see cref="P:log4net.spi.LogImpl.IsDebugEnabled"/> for more information and examples of using this method.
            </remarks>
            <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
        </member>
        <member name="T:log4net.spi.WrapperCreationHandler">
            <summary>
            Delegate used to handle creation of new wrappers.
            </summary>
            <param name="logger">The logger to wrap in a wrapper.</param>
        </member>
        <member name="T:log4net.spi.WrapperMap">
            <summary>
            Maps between logger objects and wrapper objects.
            </summary>
            <remarks>
            <para>
            This class maintains a mapping between <see cref="T:log4net.spi.ILogger"/> objects and
            <see cref="T:log4net.spi.ILoggerWrapper"/> objects. Use the indexor accessor to lookup the 
            <see cref="T:log4net.spi.ILoggerWrapper"/> for the specified <see cref="T:log4net.spi.ILogger"/>.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.spi.WrapperMap.#ctor(log4net.spi.WrapperCreationHandler)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.spi.WrapperMap"/> class with 
            the specified handler to create the wrapper objects.
            </summary>
            <param name="createWrapperHandler">The handler to use to create the wrapper objects.</param>
        </member>
        <member name="M:log4net.spi.WrapperMap.CreateNewWrapperObject(log4net.spi.ILogger)">
            <summary>
            Creates the wrapper object for the specified logger.
            </summary>
            <param name="logger">The logger to wrap in a wrapper.</param>
            <remarks>
            This implementation uses the <see cref="T:log4net.spi.WrapperCreationHandler"/>
            passed to the constructor to create the wrapper. This method
            can be overriden in a subclass.
            </remarks>
            <returns>The wrapper object for the logger.</returns>
        </member>
        <member name="M:log4net.spi.WrapperMap.OnShutdown(System.Object,System.EventArgs)">
            <summary>
            Event handler for repository shutdown event.
            </summary>
            <param name="sender">The sender of the event.</param>
            <param name="e">The event args.</param>
        </member>
        <member name="F:log4net.spi.WrapperMap.m_repositories">
            <summary>
            Map of logger repositories.
            </summary>
        </member>
        <member name="F:log4net.spi.WrapperMap.m_createWrapperHandler">
            <summary>
            The handler to use to create the extension wrapper objects.
            </summary>
        </member>
        <member name="F:log4net.spi.WrapperMap.m_shutdownHandler">
            <summary>
            Internal reference to the delegate used to register for repository shutdown events.
            </summary>
        </member>
        <member name="P:log4net.spi.WrapperMap.Item(log4net.spi.ILogger)">
            <summary>
            Gets the wrapper object for the specified logger.
            </summary>
            <value>
            The wrapper object for the specified logger.
            </value>
            <remarks>
            If the logger is null then the coresponding wrapper is null
            </remarks>
        </member>
        <member name="P:log4net.spi.WrapperMap.Repositories">
            <summary>
            Gets the map of logger repositories.
            </summary>
            <value>
            Map of logger repositories.
            </value>
        </member>
        <member name="T:log4net.LogManager">
            <summary>
            This is the class used by client applications to bind to logger
            instances.
            </summary>
            <remarks>
            <para>
            See the <see cref="T:log4net.ILog"/> interface for more details.
            </para>
            <para>
            log4net uses NUnit 2.0 to provide internal unit testing.
            To run the tests you will need a copy of NUnit 2.0. Then
            run the following command:
            </para>
            <code>nunit-console.exe /assembly:&lt;log4net assembly&gt;</code>
            </remarks>
            <example>Simple example of logging messages
            <code>
            ILog log = LogManager.GetLogger("application-log");
            
            log.Info("Application Start");
            log.Debug("This is a debug message");
            
            if (log.IsDebugEnabled)
            {
            	log.Debug("This is another debug message");
            }
            </code>
            </example>
            <seealso cref="T:log4net.ILog"/>
        </member>
        <member name="M:log4net.LogManager.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.LogManager"/> class. 
            </summary>
            <remarks>
            Uses a private access modifier to prevent instantiation of this class.
            </remarks>
        </member>
        <member name="M:log4net.LogManager.Exists(System.String)">
            <summary>
            Returns the named logger if it exists.
            </summary>
            <remarks>
            <para>
            If the named logger exists (in the default hierarchy) then it
            returns a reference to the logger, otherwise it returns
            <c>null</c>.
            </para>
            </remarks>
            <param name="name">The fully qualified logger name to look for.</param>
            <returns>The logger found, or <c>null</c> if no logger could be found.</returns>
        </member>
        <member name="M:log4net.LogManager.Exists(System.String,System.String)">
            <summary>
            Returns the named logger if it exists.
            </summary>
            <remarks>
            <para>
            If the named logger exists (in the specified domain) then it
            returns a reference to the logger, otherwise it returns
            <c>null</c>.
            </para>
            </remarks>
            <param name="domain">The domain to lookup in.</param>
            <param name="name">The fully qualified logger name to look for.</param>
            <returns>
            The logger found, or <c>null</c> if the logger doesn't exist in the specified 
            domain.
            </returns>
        </member>
        <member name="M:log4net.LogManager.Exists(System.Reflection.Assembly,System.String)">
            <summary>
            Returns the named logger if it exists.
            </summary>
            <param name="domainAssembly">The assembly to use to lookup the domain.</param>
            <param name="name">The fully qualified logger name to look for.</param>
            <returns>
            The logger, or <c>null</c> if the logger doesn't exist in the specified
            assembly's domain.
            </returns>
        </member>
        <member name="M:log4net.LogManager.GetCurrentLoggers">
            <summary>
            Returns all the currently defined loggers in the default domain.
            </summary>
            <remarks>
            <para>The root logger is <b>not</b> included in the returned array.</para>
            </remarks>
            <returns>All the defined loggers.</returns>
        </member>
        <member name="M:log4net.LogManager.GetCurrentLoggers(System.String)">
            <summary>
            Returns all the currently defined loggers in the specified domain.
            </summary>
            <param name="domain">The domain to lookup in.</param>
            <remarks>
            The root logger is <b>not</b> included in the returned array.
            </remarks>
            <returns>All the defined loggers.</returns>
        </member>
        <member name="M:log4net.LogManager.GetCurrentLoggers(System.Reflection.Assembly)">
            <summary>
            Returns all the currently defined loggers in the specified assembly's domain.
            </summary>
            <param name="domainAssembly">The assembly to use to lookup the domain.</param>
            <remarks>
            The root logger is <b>not</b> included in the returned array.
            </remarks>
            <returns>All the defined loggers.</returns>
        </member>
        <member name="M:log4net.LogManager.GetLogger(System.String)">
            <summary>
            Retrieves or creates a named logger.
            </summary>
            <remarks>
            <para>
            Retrieves a logger named as the <paramref name="name"/>
            parameter. If the named logger already exists, then the
            existing instance will be returned. Otherwise, a new instance is
            created.
            </para>
            <para>By default, loggers do not have a set level but inherit
            it from the hierarchy. This is one of the central features of
            log4net.
            </para>
            </remarks>
            <param name="name">The name of the logger to retrieve.</param>
            <returns>The logger with the name specified.</returns>
        </member>
        <member name="M:log4net.LogManager.GetLogger(System.String,System.String)">
            <summary>
            Retrieves or creates a named logger.
            </summary>
            <remarks>
            <para>
            Retrieve a logger named as the <paramref name="name"/>
            parameter. If the named logger already exists, then the
            existing instance will be returned. Otherwise, a new instance is
            created.
            </para>
            <para>
            By default, loggers do not have a set level but inherit
            it from the hierarchy. This is one of the central features of
            log4net.
            </para>
            </remarks>
            <param name="domain">The domain to lookup in.</param>
            <param name="name">The name of the logger to retrieve.</param>
            <returns>The logger with the name specified.</returns>
        </member>
        <member name="M:log4net.LogManager.GetLogger(System.Reflection.Assembly,System.String)">
            <summary>
            Retrieves or creates a named logger.
            </summary>
            <remarks>
            <para>
            Retrieve a logger named as the <paramref name="name"/>
            parameter. If the named logger already exists, then the
            existing instance will be returned. Otherwise, a new instance is
            created.
            </para>
            <para>
            By default, loggers do not have a set level but inherit
            it from the hierarchy. This is one of the central features of
            log4net.
            </para>
            </remarks>
            <param name="domainAssembly">The assembly to use to lookup the domain.</param>
            <param name="name">The name of the logger to retrieve.</param>
            <returns>The logger with the name specified.</returns>
        </member>
        <member name="M:log4net.LogManager.GetLogger(System.Type)">
            <summary>
            Shorthand for <see cref="M:log4net.LogManager.GetLogger(System.String)"/>.
            </summary>
            <remarks>
            Get the logger for the fully qualified name of the type specified.
            </remarks>
            <param name="type">The full name of <paramref name="type"/> will be used as the name of the logger to retrieve.</param>
            <returns>The logger with the name specified.</returns>
        </member>
        <member name="M:log4net.LogManager.GetLogger(System.String,System.Type)">
            <summary>
            Shorthand for <see cref="M:log4net.LogManager.GetLogger(System.String)"/>.
            </summary>
            <remarks>
            Gets the logger for the fully qualified name of the type specified.
            </remarks>
            <param name="domain">The domain to lookup in.</param>
            <param name="type">The full name of <paramref name="type"/> will be used as the name of the logger to retrieve.</param>
            <returns>The logger with the name specified.</returns>
        </member>
        <member name="M:log4net.LogManager.GetLogger(System.Reflection.Assembly,System.Type)">
            <summary>
            Shorthand for <see cref="M:log4net.LogManager.GetLogger(System.String)"/>.
            </summary>
            <remarks>
            Gets the logger for the fully qualified name of the type specified.
            </remarks>
            <param name="domainAssembly">The assembly to use to lookup the domain.</param>
            <param name="type">The full name of <paramref name="type"/> will be used as the name of the logger to retrieve.</param>
            <returns>The logger with the name specified.</returns>
        </member>
        <member name="M:log4net.LogManager.Shutdown">
            <summary>
            Shuts down the log4net system.
            </summary>
            <remarks>
            <para>
            Calling this method will <b>safely</b> close and remove all
            appenders in all the loggers including root contained in all the
            default repositories.
            </para>
            <para>
            Some appenders need to be closed before the application exists. 
            Otherwise, pending logging events might be lost.
            </para>
            <para>The <c>shutdown</c> method is careful to close nested
            appenders before closing regular appenders. This is allows
            configurations where a regular appender is attached to a logger
            and again to a nested appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.LogManager.ShutdownRepository">
            <summary>
            Shuts down the default repository.
            </summary>
            <remarks>
            <para>
            Calling this method will <b>safely</b> close and remove all
            appenders in all the loggers including root contained in the
            default repository.
            </para>
            <para>Some appenders need to be closed before the application exists. 
            Otherwise, pending logging events might be lost.
            </para>
            <para>The <c>shutdown</c> method is careful to close nested
            appenders before closing regular appenders. This is allows
            configurations where a regular appender is attached to a logger
            and again to a nested appender.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.LogManager.ShutdownRepository(System.String)">
            <summary>
            Shuts down the repository for the domain specified.
            </summary>
            <remarks>
            <para>
            Calling this method will <b>safely</b> close and remove all
            appenders in all the loggers including root contained in the
            repository for the <paramref name="domain"/> specified.
            </para>
            <para>
            Some appenders need to be closed before the application exists. 
            Otherwise, pending logging events might be lost.
            </para>
            <para>The <c>shutdown</c> method is careful to close nested
            appenders before closing regular appenders. This is allows
            configurations where a regular appender is attached to a logger
            and again to a nested appender.
            </para>
            </remarks>
            <param name="domain">The domain to shutdown.</param>
        </member>
        <member name="M:log4net.LogManager.ShutdownRepository(System.Reflection.Assembly)">
            <summary>
            Shuts down the repository for the domain specified.
            </summary>
            <remarks>
            <para>
            Calling this method will <b>safely</b> close and remove all
            appenders in all the loggers including root contained in the
            repository for the domain. The domain is looked up using
            the <paramref name="domainAssembly"/> specified.
            </para>
            <para>
            Some appenders need to be closed before the application exists. 
            Otherwise, pending logging events might be lost.
            </para>
            <para>
            The <c>shutdown</c> method is careful to close nested
            appenders before closing regular appenders. This is allows
            configurations where a regular appender is attached to a logger
            and again to a nested appender.
            </para>
            </remarks>
            <param name="domainAssembly">The assembly to use to lookup the domain.</param>
        </member>
        <member name="M:log4net.LogManager.ResetConfiguration">
            <summary>
            Resets all values contained in this repository instance to their defaults.
            </summary>
            <remarks>
            <para>
            Resets all values contained in the repository instance to their
            defaults.  This removes all appenders from all loggers, sets
            the level of all non-root loggers to <c>null</c>,
            sets their additivity flag to <c>true</c> and sets the level
            of the root logger to <see cref="F:log4net.spi.Level.DEBUG"/>. Moreover,
            message disabling is set to its default "off" value.
            </para>		
            </remarks>
        </member>
        <member name="M:log4net.LogManager.ResetConfiguration(System.String)">
            <summary>
            Resets all values contained in this repository instance to their defaults.
            </summary>
            <remarks>
            <para>
            Reset all values contained in the repository instance to their
            defaults.  This removes all appenders from all loggers, sets
            the level of all non-root loggers to <c>null</c>,
            sets their additivity flag to <c>true</c> and sets the level
            of the root logger to <see cref="F:log4net.spi.Level.DEBUG"/>. Moreover,
            message disabling is set to its default "off" value.
            </para>		
            </remarks>
            <param name="domain">The domain to lookup in.</param>
        </member>
        <member name="M:log4net.LogManager.ResetConfiguration(System.Reflection.Assembly)">
            <summary>
            Resets all values contained in this repository instance to their defaults.
            </summary>
            <remarks>
            <para>
            Reset all values contained in the repository instance to their
            defaults.  This removes all appenders from all loggers, sets
            the level of all non-root loggers to <c>null</c>,
            sets their additivity flag to <c>true</c> and sets the level
            of the root logger to <see cref="F:log4net.spi.Level.DEBUG"/>. Moreover,
            message disabling is set to its default "off" value.
            </para>		
            </remarks>
            <param name="domainAssembly">The assembly to use to lookup the domain.</param>
        </member>
        <member name="M:log4net.LogManager.GetLoggerRepository">
            <summary>
            Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
            </summary>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> instance for the default domain.</returns>
            <remarks>
            <para>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the domain specified
            by the callers assembly (<see cref="M:System.Reflection.Assembly.GetCallingAssembly"/>).
            </para>
            </remarks>
        </member>
        <member name="M:log4net.LogManager.GetLoggerRepository(System.String)">
            <summary>
            Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
            </summary>
            <param name="domain">The domain to lookup in.</param>
            <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.</returns>
            <remarks>
            <para>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the domain specified
            by the <paramref name="domain"/> argument.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.LogManager.GetLoggerRepository(System.Reflection.Assembly)">
            <summary>
            Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
            </summary>
            <param name="domainAssembly">The assembly to use to lookup the domain.</param>
            <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.</returns>
            <remarks>
            <para>
            Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the domain specified
            by the <paramref name="domainAssembly"/> argument.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.LogManager.CreateDomain(System.Type)">
            <summary>
            Creates a domain with the specified repository type.
            </summary>
            <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
            and has a no arg constructor. An instance of this type will be created to act
            as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the domain specified.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the domain.</returns>
            <remarks>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the domain
            specified such that a call to <see cref="M:log4net.LogManager.GetLoggerRepository"/> will return 
            the same repository instance.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.LogManager.CreateDomain(System.String)">
            <summary>
            Creates a domain with the specified name.
            </summary>
            <param name="domain">The name of the domain, this must be unique amongst domain.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the domain.</returns>
            <remarks>
            <para>
            Creates the default type of <see cref="T:log4net.Repository.ILoggerRepository"/> which is a
            <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> object.
            </para>
            <para>
            The <paramref name="domain"/> name must be unique. Domains cannot be redefined.
            An <see cref="T:System.Exception"/> will be thrown if the domain already exists.
            </para>
            </remarks>
            <exception cref="T:log4net.spi.LogException">The specified domain already exists.</exception>
        </member>
        <member name="M:log4net.LogManager.CreateDomain(System.String,System.Type)">
            <summary>
            Creates a domain with the specified name and repository type.
            </summary>
            <param name="domain">The name of the domain, this must be unique to the domain.</param>
            <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
            and has a no arg constructor. An instance of this type will be created to act
            as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the domain specified.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the domain.</returns>
            <remarks>
            <para>
            The <paramref name="domain"/> name must be unique. Domains cannot be redefined.
            An <see cref="T:System.Exception"/> will be thrown if the domain already exists.
            </para>
            </remarks>
            <exception cref="T:log4net.spi.LogException">The specified domain already exists.</exception>
        </member>
        <member name="M:log4net.LogManager.CreateDomain(System.Reflection.Assembly,System.Type)">
            <summary>
            Creates a domain for the specified assembly and repository type.
            </summary>
            <param name="domainAssembly">The assembly to use to get the name of the domain.</param>
            <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
            and has a no arg constructor. An instance of this type will be created to act
            as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the domain specified.</param>
            <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the domain.</returns>
            <remarks>
            <para>
            The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the domain
            specified such that a call to <see cref="M:log4net.LogManager.GetLoggerRepository(System.Reflection.Assembly)"/> with the
            same assembly specified will return the same repository instance.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.LogManager.GetAllRepositories">
            <summary>
            Gets the list of currently defined repositories.
            </summary>
            <returns>An array of all the known <see cref="T:log4net.Repository.ILoggerRepository"/> objects.</returns>
        </member>
        <member name="M:log4net.LogManager.WrapLogger(log4net.spi.ILogger)">
            <summary>
            Looks up the wrapper object for the logger specified.
            </summary>
            <param name="logger">The logger to get the wrapper for.</param>
            <returns>The wrapper for the logger specified.</returns>
        </member>
        <member name="M:log4net.LogManager.WrapLoggers(log4net.spi.ILogger[])">
            <summary>
            Looks up the wrapper objects for the loggers specified.
            </summary>
            <param name="loggers">The loggers to get the wrappers for.</param>
            <returns>The wrapper objects for the loggers specified.</returns>
        </member>
        <member name="M:log4net.LogManager.WrapperCreationHandler(log4net.spi.ILogger)">
            <summary>
            Create the <see cref="T:log4net.spi.ILoggerWrapper"/> objects used by
            this manager.
            </summary>
            <param name="logger">The logger to wrap.</param>
            <returns>The wrapper for the logger specified.</returns>
        </member>
        <member name="F:log4net.LogManager.s_wrapperMap">
            <summary>
            The wrapper map to use to hold the <see cref="T:log4net.spi.LogImpl"/> objects.
            </summary>
        </member>
        <member name="T:log4net.MDC">
            <summary>
            Implementation of Mapped Diagnostic Contexts.
            </summary>
            <remarks>
            <para>
            The MDC class is similar to the <see cref="T:log4net.NDC"/> class except that it is
            based on a map instead of a stack. It provides <i>mapped
            diagnostic contexts</i>. A <i>Mapped Diagnostic Context</i>, or
            MDC in short, is an instrument for distinguishing interleaved log
            output from different sources. Log output is typically interleaved
            when a server handles multiple clients near-simultaneously.
            </para>
            <para>
            The MDC is managed on a per thread basis.
            </para>
            </remarks>
        </member>
        <member name="M:log4net.MDC.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.MDC"/> class. 
            </summary>
            <remarks>
            Uses a private access modifier to prevent instantiation of this class.
            </remarks>
        </member>
        <member name="M:log4net.MDC.Get(System.String)">
            <summary>
            Gets the context identified by the <paramref name="key" /> parameter.
            </summary>
            <remarks>
            If the <paramref name="key" /> parameter does not look up to a
            previously defined context then <c>null</c> will be returned.
            </remarks>
            <param name="key">The key to lookup in the MDC.</param>
            <returns>The string value held for the key, or a <c>null</c> reference if no corresponding value is found.</returns>
        </member>
        <member name="M:log4net.MDC.Set(System.String,System.String)">
            <summary>
            Puts a context value (the <paramref name="val" /> parameter) as identified
            with the <paramref name="key" /> parameter into the current thread's
            context map.
            </summary>
            <remarks>
            If a value is already defined for the <paramref name="key" />
            specified then the value will be replaced.  If the <paramref name="val" /> 
            is specified as <c>null</c> then the key value mapping will be removed.
            </remarks>
            <param name="key">The key to store the value under.</param>
            <param name="value">The value to store.</param>
        </member>
        <member name="M:log4net.MDC.Remove(System.String)">
            <summary>
            Removes the key value mapping for the key specified.
            </summary>
            <param name="key">The key to remove.</param>
        </member>
        <member name="M:log4net.MDC.Clear">
            <summary>
            Clear all entries in the MDC
            </summary>
        </member>
        <member name="M:log4net.MDC.GetMap">
            <summary>
            Gets the map on this thread.
            </summary>
            <returns>The map on the current thread.</returns>
        </member>
        <member name="M:log4net.MDC.CopyMap">
            <summary>
            Gets a readonly copy of the map on this thread.
            </summary>
            <returns>A readonly copy of the map on the current thread.</returns>
        </member>
        <member name="F:log4net.MDC.s_slot">
            <summary>
            The thread local data slot to use for context information.
            </summary>
        </member>
        <member name="T:log4net.NDC">
            <summary>
            Implementation of Nested Diagnostic Contexts.
            </summary>
            <remarks>
            <para>
            A Nested Diagnostic Context, or NDC in short, is an instrument
            to distinguish interleaved log output from different sources. Log
            output is typically interleaved when a server handles multiple
            clients near-simultaneously.
            </para>
            <para>
            Interleaved log output can still be meaningful if each log entry
            from different contexts had a distinctive stamp. This is where NDCs
            come into play.
            </para>
            <para>
            Note that NDCs are managed on a per thread basis. The NDC class
            is made up of static methods that operate on the context of the
            calling thread.
            </para>
            </remarks>
            <example>How to push a message into the context
            <code>
            using(NDC.Push("my context message"))
            {
            	... all log calls will have 'my context message' included ...
            
            } // at the end of the using block the message is automatically removed 
            </code>
            </example>
        </member>
        <member name="M:log4net.NDC.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.NDC"/> class. 
            </summary>
            <remarks>
            Uses a private access modifier to prevent instantiation of this class.
            </remarks>
        </member>
        <member name="M:log4net.NDC.Clear">
            <summary>
            Clears all the contextual information held on the 
            current thread.
            </summary>
            <remarks>
            After calling this method the <see cref="P:log4net.NDC.Depth"/> will be <c>0</c>.
            </remarks>
        </member>
        <member name="M:log4net.NDC.CloneStack">
            <summary>
            Creates a clone of the stack of context information.
            </summary>
            <remarks>
            The results of this method can be passed to the <see cref="M:log4net.NDC.Inherit(System.Collections.Stack)"/> 
            method to allow child threads to inherit the context of their 
            parent thread.
            </remarks>
            <returns>A clone of the context info for this thread.</returns>
        </member>
        <member name="M:log4net.NDC.Inherit(System.Collections.Stack)">
            <summary>
            Inherits the contextual information from another thread.
            </summary>
            <remarks>
            This thread will use the context information from the stack
            supplied. This can be used to initialise child threads with
            the same contextual information as their parent threads. These
            contexts will <b>NOT</b> be shared. Any further contexts that
            are pushed onto the stack will not be visible to the other.
            Call <see cref="M:log4net.NDC.CloneStack"/> to obtain a stack to pass to
            this method.
            </remarks>
            <param name="stack">The context stack to inherit.</param>
        </member>
        <member name="M:log4net.NDC.Pop">
            <summary>
            Removes the top context from the stack.
            </summary>
            <remarks>
            Remove the top context from the stack, and return
            it to the caller. If the stack is empty then an
            empty string (not <c>null</c>) is returned.
            </remarks>
            <returns>
            The message in the context that was removed from the top 
            of the stack.
            </returns>
        </member>
        <member name="M:log4net.NDC.Push(System.String)">
            <summary>
            Pushes a new context message.
            </summary>
            <param name="message">The new context message.</param>
            <returns>
            An <see cref="T:System.IDisposable"/> that can be used to clean up 
            the context stack.
            </returns>
            <remarks>
            Pushes a new context onto the context stack. An <see cref="T:System.IDisposable"/>
            is returned that can be used to clean up the context stack. This
            can be easily combined with the <c>using</c> keyword to scope the
            context.
            </remarks>
            <example>Simple example of using the <c>Push</c> method with the <c>using</c> keyword.
            <code>
            using(log4net.NDC.Push("NDC_Message"))
            {
            	log.Warn("This should have an NDC message");
            }
            </code>
            </example>
        </member>
        <member name="M:log4net.NDC.Remove">
            <summary>
            Removes the context information for this thread. It is
            not required to call this method.
            </summary>
            <remarks>
            This method is not implemented.
            </remarks>
        </member>
        <member name="M:log4net.NDC.SetMaxDepth(System.Int32)">
            <summary>
            Forces the stack depth to be at most <paramref name="maxDepth"/>.
            </summary>
            <remarks>
            Forces the stack depth to be at most <paramref name="maxDepth"/>.
            This may truncate the head of the stack. This only affects the 
            stack in the current thread. Also it does not prevent it from
            growing, it only sets the maximum depth at the time of the
            call. This can be used to return to a known context depth.
            </remarks>
            <param name="maxDepth">The maximum depth of the stack</param>
        </member>
        <member name="M:log4net.NDC.Get">
            <summary>
            Gets the current context information.
            </summary>
            <returns>The current context information.</returns>
        </member>
        <member name="M:log4net.NDC.Peek">
            <summary>
            Peeks at the message on the top of the context stack.
            </summary>
            <returns>The message on the top of the stack.</returns>
        </member>
        <member name="M:log4net.NDC.GetStack">
            <summary>
            Gets the stack of context objects on this thread.
            </summary>
            <returns>The stack of context objects on the current thread.</returns>
        </member>
        <member name="F:log4net.NDC.s_slot">
            <summary>
            The thread local data slot to use for context information.
            </summary>
        </member>
        <member name="P:log4net.NDC.Depth">
            <summary>
            Gets the current context depth.
            </summary>
            <value>The current context depth.</value>
        </member>
        <member name="T:log4net.NDC.DiagnosticContext">
            <summary>
            Inner class used to represent a single context in the stack.
            </summary>
        </member>
        <member name="M:log4net.NDC.DiagnosticContext.#ctor(System.String,log4net.NDC.DiagnosticContext)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.NDC.DiagnosticContext"/> class
            with the specified message and parent context.
            </summary>
            <param name="message">The message for this context.</param>
            <param name="parent">The parent context in the chain.</param>
        </member>
        <member name="P:log4net.NDC.DiagnosticContext.Message">
            <summary>
            Get the message.
            </summary>
            <value>The message.</value>
        </member>
        <member name="P:log4net.NDC.DiagnosticContext.FullMessage">
            <summary>
            Gets the full text of the context down to the root level.
            </summary>
            <value>
            The full text of the context down to the root level.
            </value>
        </member>
        <member name="T:log4net.NDC.NDCAutoDisposeFrame">
            <summary>
            Inner class that is returned from <see cref="M:log4net.NDC.Push(System.String)"/>
            </summary>
            <remarks>
            This class is disposable and when it is disposed it automatically
            returns the NDC to the correct depth.
            </remarks>
        </member>
        <member name="M:log4net.NDC.NDCAutoDisposeFrame.#ctor(System.Collections.Stack,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:log4net.NDC.NDCAutoDisposeFrame"/> class with
            the specified stack and return depth.
            </summary>
            <param name="frameStack">The internal stack used by the NDC.</param>
            <param name="frameDepth">The depth to return the stack to when this object is disposed.</param>
        </member>
        <member name="M:log4net.NDC.NDCAutoDisposeFrame.Dispose">
            <summary>
            Returns the NDC stack to the correct depth.
            </summary>
        </member>
        <member name="F:log4net.NDC.NDCAutoDisposeFrame.m_frameStack">
            <summary>
            The NDC internal stack
            </summary>
        </member>
        <member name="F:log4net.NDC.NDCAutoDisposeFrame.m_frameDepth">
            <summary>
            The depth to rethrow the stack to when this instance is disposed
            </summary>
        </member>
    </members>
</doc>
